Replies: 7 comments 6 replies
-
Beta Was this translation helpful? Give feedback.
-
|
Thank you for your feedback on MSIX, we will get that routed to the appropriate teams and come back with a more detailed response. Out of curiosity have you tried https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps and had the same experience? As you're aware, currently this technology is only available with MSIX as it relies on the application identity provided. |
Beta Was this translation helpful? Give feedback.
-
|
Even if you get past using sparse packages and package identity with win32 apps things that work for UWP apps that you'd expect to work with win32 apps configured this way do not and there is really no recourse or support mechanism for getting things working. As an example, if you configure Windows Firewall rules using app package identity (the same Edge does), you would expect Windows Firewall to apply the firewall rules to the executing application. This absolutely does not work and even though Microsoft somehow uses these technologies in-house, between lack of documentation, forums, support make the technology unusable. In our world win32 apps are still the majority of what users use/expect and no real path forward if we don't want to repackage the apps, update installers/updaters, CICD and all kinds of logic most modern win32 apps have today. Even winget decided to add support for "classic" win32 installers, it's time for Microsoft to really hear what developers are telling you. |
Beta Was this translation helpful? Give feedback.
-
|
Hi, this is my first time in a GitHub discussion/issue. I'm not sure if this is the right place. For now, requiring signing is probably the most important aspect of the things that would me keep me from using this. I'm just starting Python development on Windows, coming from an initial background of running Python on Linux, Jupyter, Conda ecosystem (in a devcontainer sometimes). As rgwood said:
My use case: I'm starting to package a python app for windows, a desktop app that runs a web server, which is aimed for not so tech savvy users, hence Windows. I'm considering the packaging options that these docs mention Python Packaging User Guide: Bringing your own python executable. I met this repository many times before, however this time from this blog post: https://blogs.windows.com/windowsdeveloper/2024/03/06/sandboxing-python-with-win32-app-isolation/ . Ideal app requirements:
Signing would break 2. Self signing would likely break 1 (security-wise, hopefully you must have admin rights to do that). Other issues may include the windows version and compatibility with this isolation. After much work, PyInstaller + Inno Setup seems to meet the requirements, not so sure for requirement 3. This isn't without compromises, for example, multiple processes can be a pain to setup, can't invoke a python interpreter to run another script. The room for growth seems a lot smaller, for a moment I'm considering an approach that would mirror a conda environment or python environment, even though these would likely break requirement 3 (such as writing to %USERPROFILE%), not ideal but I might accept, still exploring. Funnily enough, as a thought experiment, maybe someone could make a Linux VM small enough that it would be lighter and more contained than packaging a windows app, at least for this use case, but I'm not willing to try right now. (For example, Python on Windows for beginners recommends for that use case of web development using Linux would be a better choice. For the others, installing Python from the Microsoft Store probably is not worth the hassle, such as described in this Stackoverflow question, I haven't confirmed this. Overall, the language choice, Python, may not be the best for targeting Windows... I haven't started on CI/CD, as I don't know much about it yet, but likely requires spinning up ephemeral VMs) Unfortunately, other windows features related to isolation aren't useful either, such as Windows Sandbox (I can't package my app in a Windows Sandbox, it wasn't intended to be used that way, and only allows 1 running each time), or Windows Containers (mostly aimed at Windows Server, no UI, likely needs virtualization overhead). Considering the user side and the developer side of this project, as a developer I would worry about my app being contained so that it is compatible and reproducible no matter how many times you uninstall and install it. I probably wouldn't rely on it for the privacy aspect, as I could implement related features in the app. As for the security aspect, it is tied to portability but I'd rather my app be portable. As the user, I'd like the privacy and security features this project proposes but I wouldn't benefit if the developer doesn't use this, it could be very likely if the developer has other goals than what the user wants, they could just use normal win32 apps. For example, for quick testing I would use Sandboxie for apps I don't want to risk with unintentionally modifying my system. |
Beta Was this translation helpful? Give feedback.
-
|
You can enable App Container sandboxing for unpackaged apps, too. That's documented on MSDN: |
Beta Was this translation helpful? Give feedback.
-
This post is old and issues get fixed, so what was an issue a year ago might not be anymore. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, are there any plans to enable sandboxing without requiring MSIX? I'd like to enable sandboxing for plain old EXEs.
I’m excited about this functionality, but MSIX is a non-starter for most developers for several reasons:
I am really excited about better sandboxing tools, but I'm worried that they will be dead on arrival if they're tied to MSIX.
Beta Was this translation helpful? Give feedback.
All reactions