Dynamic Installation of Dokany in a Microsoft Store Application
Hi everyone,
I am developing a C# (Cross-platform, not UWP) application intended for distribution through the Microsoft Store, which relies on Dokany (https://dokan-dev.github.io/) —a user mode file system library—for essential functionality. To ensure a seamless user experience, I am exploring methods to install Dokany dynamically upon the application’s first launch, should it not already be present on the user’s system.
Proposed Approaches:
1. Direct Download and Installation:
• Process: Upon the application’s initial launch, the system would check for Dokany’s presence. If absent, the application would download the official Dokany installer and execute it in silent mode to minimize user disruption.
• User Feedback: During this process, the application would inform the user that necessary components are being installed to ensure transparency.
2. Utilizing Chocolatey Package Manager:
• Process: If Dokany is not detected, the application would leverage Chocolatey to install Dokany. This approach would involve:
• Installing Chocolatey if it is not already installed on the user’s system.
• Using Chocolatey to install the Dokany package.
• User Feedback: The application would notify the user about the installation of these third-party dependencies, maintaining clarity about the process.
Considerations:
• Compliance with Microsoft Store Policies: I aim to ensure that these methods align with Microsoft Store policies, particularly concerning the dynamic installation of dependencies and the use of third-party package managers.
• User Experience: It is crucial that the installation processes are as unobtrusive as possible, with clear communication to the user about the installation of necessary components.
My questions:
1. Policy Compliance: Do these approaches comply with Microsoft Store policies regarding the installation of third-party dependencies during the application’s runtime?
2. Preferred Methodology: Between the two methods outlined, is there a preferred approach from the perspective of Microsoft Store guidelines?
3. Alternative Recommendations: Are there alternative best practices for managing such dependencies in Microsoft Store applications to ensure both compliance and a positive user experience?
Thank you in advance!