Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an .MSIX installation package. #241

Open
RokeJulianLockhart opened this issue Jun 3, 2024 · 8 comments
Open

Provide an .MSIX installation package. #241

RokeJulianLockhart opened this issue Jun 3, 2024 · 8 comments
Labels
Priority: Low Doesn't require immediate attention Type: Enhancement New feature or request Type: Installation Installing, building, and/or launching the program Type: Wontfix This will not be worked on

Comments

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Jun 3, 2024

Although a Windows installer has been added (as #130 (comment) explains) it's quite retrograde. EXE has been replaced MSI, which was replaced by APPX, which has been replaced by MSIX. Anything except MSIX is not recommended by Microsoft, because it's not suitable for large-scale management (like via PowerShell and 1st-party deployment tools).

Even as a user (rather than an administrator) if you've ever installed an MSIX package, you'll know what a breeze it is – the GUI is always the same, because it uses the included MSIX installation tool from Microsoft.

Additional rationale is available at felixrieseberg/windows95#221 (comment).

@CyanVoxel CyanVoxel added Type: Enhancement New feature or request Type: Suggestion A suggestion for how a feature could be implemented Type: Installation Installing, building, and/or launching the program labels Jun 3, 2024
@RokeJulianLockhart RokeJulianLockhart changed the title Provide an MSIX installer. Provide an .MSIX installation package. Jun 3, 2024
@Loran425
Copy link
Collaborator

Loran425 commented Jun 10, 2024

One roadblock to this is that MSIX packages appear to need to be code signed to run on a system not running in developer mode.
So $100-300/yr for the project to maintain signing capabilities depending on who you get the cert through.

@xarvex xarvex added Priority: Low Doesn't require immediate attention and removed Type: Suggestion A suggestion for how a feature could be implemented labels Jun 10, 2024
@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Jun 10, 2024

#241 (comment)

@Loran425, that is a pain. Might be worth following microsoft/msix-packaging#332 (comment), in case the decision there changes. However, are you certain about the lesser issue - that the certificate must be bound to the package on a non-developer mode OS installation? I would doubt that, considering that https://github.com/MicrosoftDocs/msix-docs/blob/730f4c2800902eb04de976929ff335ff2d24ea60/msix-src/package/sign-app-package-using-signtool.md#prerequisites doesn't mention it (and it would be logically strange).

Might be worth asking about at https://github.com/microsoft/msix-packaging/discussions/new?category=q-a.

@xarvex
Copy link
Member

xarvex commented Jun 11, 2024

I'm not certain about the caveats around developer mode vs a typical install, I've honestly found it quite difficult to find information about MSIX at all. What does remain true is that code signing is required for typical usage, and unless you want to deal with having a user install your certificate (.crt) file you must go through a CA which creates a yearly cost.
One exception is distributing on the Microsoft Store, but relying on that means relying on that store being the only place of distribution, and thus is undesirable.
In that state of things, I do not see us packaging with MSIX. I could see an MSI (or APPX but I don't know much about it) in the near future, though, which is at least better than a lone EXE.

@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Jun 11, 2024

#241 (comment)

@xarvex, the primary benefit of .MSIX for me is its ability to be easily managed by PowerShell via native commands, and its very standardized filesystem layout. No alternative provides those, except .APPX, but .APPX is a necessarily dead technology due to its unnecessarily sandboxed nature. .MSI doesn't provide any of these capabilities - it's solely an improvement over mere binaries because it abstracts the registry entries for the invocation and (un)installation .lnk files.

@yedpodtrzitko
Copy link
Collaborator

@RokeJulianLockhart it looks like you are the one who knows the most about MSIX, so feel free to open PR with Github Action for creating MSIX.

@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Jun 11, 2024

#241 (comment)

@yedpodtrzitko, I do wish I did. Unfortunately, @xarvex was correct that there's not much documentation. If I can, I shall, but I've not even used GH Actions yet (I use GitLab mostly).

@xarvex
Copy link
Member

xarvex commented Jun 11, 2024

For right now I'm going to leave this as a wontfix as we don't have the resources to explore CA signing. However, I will leave this issue open to continue tracking, it's not something I want to dismiss. Wishful thinking says maybe at some point there will be a change of heart at Microsoft about this.

I hope everyone can understand the stance taken.

@xarvex xarvex added the Type: Wontfix This will not be worked on label Jun 11, 2024
@hi5a
Copy link

hi5a commented Aug 24, 2024

@xarvex @RokeJulianLockhart

It looks like signpath.io provides low-cost or free certificates to open source projects. It also looks like they are trusted by Rainmeter, vim for Windows, and Transmission.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Low Doesn't require immediate attention Type: Enhancement New feature or request Type: Installation Installing, building, and/or launching the program Type: Wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

6 participants