none
Will I be able to publish a UWP app which launches other third-party apps and redirects their file output to the Microsoft Store? RRS feed

  • Question

  • Hello,

    this is my first post in these forums, so I apologize if I am posting in the wrong category. Please let me know if I should ask somewhere else, or if you have any questions regarding the following post.

    Thank you very much in advance!

    I am currently in the process of developing an application which is ultimately going to be a so called "mod manager" for various games. Mods (short for modifications) are community-created data files that modify a game. For example, a game might be extended with new maps, locations or items via user created mods.

    One of the most important core functionalities is that these mods are isolated, i.e. each mod (which is basically just a set of files and folders) is stored in its own folder by the mod manager. When the game is then launched, the mod manager merges the files of all the mods together, so that they can be read by the game.

    Consider the following, fictional layout of mods that are organized by the mod manager:

    Mod A
      |__ FileA.x
      |__ FileB.x
    Mod B
      |__ FileA.x
      |__ FileC.x

    As you can see, these two mods each have certain files that need to be read by a game. FileA.x is contained in both mods. The task of the mod manager is to merge the files of the two mods together and let the game read the results, i.e. end up with the following structure:

    Another folder (the installation location of the game)
      |__ FileA.x
      |__ FileB.x
      |__ FileC.x

    To achieve this, the application will need to do a few things:

    1. Store all user-installed mods in separate directories (e.g. in the Documents folder).
    2. Launch the third-party game.
    3. Redirect the game's File I/O calls to the corresponding mod directories, so that it can read the files from the isolated mod folders.
      This point is very important, because a collection of mods may easily reach up to 70/80 GB of data for many users. The only alternative to redirecting the game's I/O would be to manually copy every single file before launching the game. Due to the potential size of a mod collection, that is basically not an option.

    Coming to my actual question:

    I am currently deciding on which technology I should be focusing on (UWP vs Win32). Ideally, I would like to develop this application as a UWP app which:

    • Uses a "normal" UWP App-Container for displaying the UI, managing the mod collection, launching the game. -> I.e. the frontend of the application.
    • Use a UWP Desktop Extension to launch the third-party games and redirect the File I/O via the Microsoft Detours ( https://github.com/Microsoft/Detours ) library (must be a Desktop Extension, because a normal UWP app lacks the required API permissions).

    The goal is to get the app submitted to the Microsoft Store. Otherwise, UWP as a technology will be useless to me.

    The problem that I see with getting the app into the store is the launching of other applications and the I/O redirection. Is there a way that an app like this will be accepted into the store, or will that just straight-up not be possible? Are there any guidelines for getting such an app through the submission process?

    Thank you very much for reading this and (hopefully) for answering the question. If you need any additional details, please feel free to ask.




    Friday, May 3, 2019 2:01 PM

Answers

  • Hi,

    If you are trying to launch the exe file that doesn't contain in the app package, I'm afraid this is not possible to publishing the app to the store for security reasons. 

    Best regard,

    Roy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by Manuel Römer Thursday, May 9, 2019 12:19 PM
    Thursday, May 9, 2019 6:27 AM

All replies

  • Hi,

    According to the store policy 10.2.4 here:Security, if you want to do that, you'd make sure these third party project are all available in the store. If not, it is possible to submit your app to store.

    Best regards,

    Roy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, May 6, 2019 7:30 AM
  • Hey Roy,

    first of all, thank you very much for your answer, I really appreciate it!


    I am still not sure about whether the mentioned guideline would really apply to my case, because of the bold part:

    "[...] Your product may depend on non-integrated software (such as another product, module, or service) to deliver its primary functionality, subject to the following requirements: [...]"


    The primary functionality of the app is to organize the data files for games (from Steam, to be specific). That can be done without relying on any third-party service.

    However, another feature is to actually launch games. Steam is not available on the store and neither are the games. To launch them, the user would have to select the path to the .exe files and my app could then launch the games (and redirect their file output).

    Would this prevent me from publishing the app? If so, that would really be a shame.

    Monday, May 6, 2019 10:42 AM
  • Hi,

    If you are trying to launch the exe file that doesn't contain in the app package, I'm afraid this is not possible to publishing the app to the store for security reasons. 

    Best regard,

    Roy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by Manuel Römer Thursday, May 9, 2019 12:19 PM
    Thursday, May 9, 2019 6:27 AM
  • That's a real shame. Thanks for the answer though.
    Thursday, May 9, 2019 12:21 PM