4 ms·
Is Helium mandatory for MSIX-packaged apps?
by mwcampbell 4y ago
Is Helium mandatory for MSIX-packaged apps?
- mike_hearn 4y agoI think they recently added a way to opt out of it entirely. That said, it does very little and because it's not a sandbox it's easy to 'escape': • Copy an EXE to %TEMP% and run it from there. • Use a Win32 API flag to start a process (of any path) outside the app container. There are only a few cases where Helium is an issue and they're all easy to work around. One example is writing a log file to your app private UserData directory and then opening Notepad on it. If you do it the 'naive' way then Notepad won't be able to find it, because you'll pass a redirected path which it can't see. The fix is simply to resolve the redirect before passing the argument to Notepad using a Win32 API call. I know we talked about Conveyor a few days ago so I'll note here that if you package a JVM app with it then the %LOCALAPPDATA% and %APPDATA% environment variables are rewritten to their target locations automatically, so as long as you use them to decide where to write app private files then their paths will be visible to other apps, avoiding the Notepad issue. This doesn't apply to native or Electron apps though, at least not at this time.
- actionfromafar 4y agoThanks, that's very useful info for me.