microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.86k stars 6.59k forks source link

Provide PowerToys as .msix in addition to .msi #202

Closed petrroll closed 4 years ago

petrroll commented 5 years ago

Provide .msix instealler in addition to .msi to enable clean-er install/uninstall story for modern Windows10. The installer toolchain should support producing .msix packages: https://www.firegiant.com/products/wix-expansion-pack/msix/

Newer versions of Win10 allow first-class sideloading so there's benefit even without store distribution.

indierawk2k2 commented 5 years ago

Unfortunately .msix does not yet support all the features of .msi. PowerToys.exe requires being installed as an app that launches at logon as admin. This is not possible from an ,msix today.

clairernovotny commented 5 years ago

@indierawk2k2 Do all of the PowerToys require that? Or can the ones that don't be packaged separately as an MSIX?

indierawk2k2 commented 5 years ago

Every utility so far has to do something with an elevated window and therefore needs elevation to accomplish that task. It's likely we will build some things that don't need this (batch renamer for example) but we haven't thought about separate installers.

petrroll commented 5 years ago

The only reason to run elevated is to be able to manipulate elevated windows, right? And it should run without it, anyway. If that's the case then wouldn't shipping limited non-elevated version be possible?

TBH I don't feel like running PowerToys elevated all the time anyway (as I don't have that many always-elevated windows it wouldn't be an issue for me).

petrroll commented 5 years ago

And potentially, you can still launch msix as elevated so a user could just create elevated lunch at logon manually if they really wanted.

To me that would still be preferable to installing .msi.

Also, doesn't auto-elevation work with launch-on-logon? https://docs.microsoft.com/en-us/windows/msix/msix-1709-and-1803-support#auto-elevation

lostmsu commented 5 years ago

I feel like launching elevated by default is misguided. Are you sure you are not introducing any local privilege escalation vulnerabilities by doing that? The recent Steam example did not look good.

indierawk2k2 commented 5 years ago

Some great comments and feedback in this thread. We'll discuss and circle back with a plan.

enricogior commented 4 years ago

MSIX available in v0.15.1 https://github.com/microsoft/PowerToys/releases

Poopooracoocoo commented 4 years ago

now see #413

edit: now that the Microsoft Store lets you upload non-MSIX installers, see #18092