Dec 06 2023 09:33 AM
I've been packaging in MSIX for a while now, but recently find myself troubleshooting more and more applications with child processes that are executing outside the msix container.
I haven't been able to find anything in the xml reference that controls the behavior, but it would certainly be nice if it could be added to the app manifest.
the examples are pretty niche to the industry, but symphony chat is a good example. They have a screen snipping tool that executes as a separate exe. by default it doesn't work, if run via invoke-commandindesktoppackage with -preventbreakaway, it works as expected.
My workaround has been to make wrapper exe's and use psf to launch the wrapper (which subsequently is just a compiled powershell with invoke-commandindesktoppackage)
I'd like a proper solution though, if MS reads this :D
Tim M you probably will, so if you know of a more elegant solution let me know.
Dec 06 2023 01:20 PM
Dec 07 2023 09:30 AM
Dec 08 2023 08:36 AM
I'm unclear about parts of the scenario. Specifically, about what executables are inside or outside of the package, or packages. Can you be more detailed?
Dec 08 2023 08:43 AM
Dec 08 2023 12:59 PM
Dec 12 2023 02:57 AM
Dec 12 2023 05:24 AM
Dec 12 2023 06:04 AM
Thanks for the extended writeup!
Unfortunately, it still doesn't work for me. My application is Microsoft Navision and it calls Excel or Word from a couple of buttons in the toolbar. I have no control to what those buttons do, or how they call the Office apps.
But with your method, launching Navision with the -PreventBreakway doesn't change anything. The entire application just crashes when I launch Word/Excel from the MSIX app (Excel/Word never launch) and I get an error in the application log. With App-V or local install, it all just works fine (btw I'm using Win11 multisession but I get the same behavior with Windows Server 2019).
You would assume that any child process within your MSIX container will be launched within the container, just like App-V used to handle it. I see no reason why to launch it outside of it. Then again, I might have a totally different problem with this app. But all Navision apps, all versions behave exactly the same when ran from MSIX.
I also tried to pre-launch Excel from the container using your same command, so Excel is already open from within the container and it should be using that window. But still, same result. The app just crashes with no specific error message.
I will do some other testing as well with other apps that open child processes, see if they work with your workaround. Because it might just be Navision acting up. So thanks again for this post, very helpful!
Faulting application name: finsql.exe, version: 5.0.26084.0, time stamp: 0x47b39d56
Faulting module name: finsql.exe, version: 5.0.26084.0, time stamp: 0x47b39d56
Exception code: 0xc0000005
Fault offset: 0x001e85cf
Faulting process id: 0x2ca8
Faulting application start time: 0x01da2d00e342d297
Faulting application path: C:\Program Files (x86)\Microsoft Dynamics NAV\CSIDE Client\finsql.exe
Faulting module path: C:\Program Files (x86)\Microsoft Dynamics NAV\CSIDE Client\finsql.exe
Report Id: dd24e03c-992a-44a8-b4b8-836deb47bf46
Faulting package full name: FRF-P_4.0.0.0_x64__rt6ps99bwbnfa
Faulting package-relative application ID: FRF