Nov 13 2023 06:15 AM
Hello All,
I am developing a Microsoft Application that is installed with a MSIX installer. The structure of the application is a *.exe application that is identified as the primary application (all shortcuts point to the *.exe file). It installs outside the VFS file structure.
There is a runtime component that needs to install with the primary *.exe file. It installs in the VFS/ProgramFilesX64 directory. I added a registry entry (virtual registry) that points the *.exe file to the runtime installation.
The application launches and an error 'openGL is not installed'. I separated the runtime component into its own MSIX package, installed it without an executable, and modified the registry of the *.exe to point to the other application. A second MSIX package only installs the primary *.exe file and it works fine.
My thinking is that when the *.exe 'reaches' outside it's MS app container, it is granted graphics access on the host machine. If it doesn't reach outside (the first scenario where it accesses the runtime inside the same application VFS directory) it doesn't get graphics access from the System.
Does this make sense and is there a solution? Ideally, I want all the application to install with just one MSIX installer. I tried to add a virtual registry for the host machine SYSTEM to give the *.exe an identity with access to graphics but it gave an error when I tried to install it.
Thanks in advance for any guidance.
Nov 20 2023 10:28 PM
Hi, can you please check the logs using procmon? Where exactly is the main application trying to access run time component from?
Also, when you are creating a separate package for runtime - what kind of a package is that?
Nov 20 2023 10:38 PM
Nov 21 2023 07:52 AM
@Eyad-thank you for your suggestions. I explored most of these options except ensuring the manifest has the required declarations. MSIX is a great, containerized solution so will keep working to have the fully functioning MSIX package. The best solution may be for me to separate the runtime needed from the myapp.exe and have the dependency install runtime. My goal is simplicity so trying all I can before resorting to separate MSIXs.
Thanks again for your response.
Nov 21 2023 07:59 AM
Nov 24 2023 06:47 AM
Nov 28 2023 04:53 AM
@farmerphd
Without seeing the Process Monitor trace myself, I can only give you an educated guess. Traditional applications have multiple ways to help find the dlls that they need, and this can get messed up in MSIX.
If in the procmon trace you notice the app trying to open the opengl dll(s) from different locations but ultimately failing, there are actions that you can take.
Nov 28 2023 05:48 AM
Dec 04 2023 09:09 AM - edited Dec 04 2023 09:10 AM
Are there any examples of include opengl dlls in a MSIX package? I only added the opengl32.dll to the SystemX64 and X86 folders. It still shows 'not installed'. There are libraries to include but not sure which one is needed. My app is a X64 application.
Dec 06 2023 09:22 AM
Dec 06 2023 04:03 PM
Dec 07 2023 06:30 AM