[Setup] Use WiX bootstrapper instead of a custom one#15050
[Setup] Use WiX bootstrapper instead of a custom one#15050crutkas merged 29 commits intomicrosoft:mainfrom
Conversation
DHowett
left a comment
There was a problem hiding this comment.
Thanks so much for doing this! Glad to see vision become reality. Couple questions!
| <Import Project="..\..\src\Version.props" /> | ||
| <PropertyGroup> | ||
| <DefineConstants>Version=$(Version)</DefineConstants> | ||
| <Name>PowerToysInstaller</Name> |
There was a problem hiding this comment.
This file got totally reformatted to change newlines; view the diff with "Hide Whitespace Changes" to see the actual two lines of change 😄
|
Does this have any impact on the existing installer parameters? Is it possible to run an admin install with special parameters or do I have to run the setup for every user on the computer? What is the default install directory/path? |
|
@DHowett i flagged the default install DIR. this will get around UAC for elevation but feels icky for a win32 |
Hmm here's a Q: do we have to make the move to user dir at the same time as WiX Bundle? It seems fine if we do, we just have to drive down all the install differences. |
|
Yes. This will be that tipping shift. |
This comment has been minimized.
This comment has been minimized.
|
Tested the new installer, PowerPreview and VCM seems to work correctly |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Tested, VCM and PowerPreview work well. |
8aa5fd0 to
7af2431
Compare
Existing bootstrapper parameters will no longer work (btw, how do we change https://docs.microsoft.com/en-us/windows/powertoys/install#installer-arguments @crutkas), however WiX bootstrapper has a similar set of parameters. The most important one which couldn't be supported out of the box is "C:\Program Files (x86)\WiX Toolset v3.11\bin\dark.exe" -x msi S:\Programming\utilities\PowerToys\installer\PowerToysSetup\x64\Release\PowerToysSetup-0.53.1-x64.exeCurrently investigating the issue brought up by @stefansjfw. |
DHowett
left a comment
There was a problem hiding this comment.
Alright, as of the merge with main you'll need to update release.yml in the bootstrapper phase :) this looks excellent though! Thanks!
7af2431 to
18394d7
Compare
|
Updated release.yml (I think it needs double-checking though!) and fixed missing icon issue :) |
|
I've queued a test build on the Release pipeline -- here's hoping! |
DHowett
left a comment
There was a problem hiding this comment.
More to Clint's point; I think that line 148 in release.yml needs updating if we aren't building the custom actions any longer. :)
|
Actually yeah, I'm confused about why this is an error. Huh. Did we change a project name? |
|
that still exists in the buddy.yml command: '.pipelines\build-installer-PTCustomActions.cmd' and was unchanged |
18394d7 to
48e80c7
Compare
|
We still need to build PTCustomActions separately to be able to sign in, right? Event though it's embedded into .msi installer. Logs show this error: Still not sure what's causing this, but I've made |
|
|
So, this is interesting! I tried to install this 0.0.2 build over 0.51! It "succeeded" instantly, but it didn't install over 0.51. The message indicating that we can't downgrade was never displayed... and I think the powertoys MSI was never launched! On second launch, my only option was uninstall. It "uninstalled" something ... and I think it was also an empty uninstaller. |
It's installing a bundle of both the .net runtime and PowerToys. PowerToys already has a higher version so this isn't needed ... I think we might have to detect this manually. |
|
Added a commit to block the downgrade scenarios. |
I've reverted registry changes to HKLM instead of HKCU for the installer. At least PowerRename seems to need that when installed in Programs Folder. Will take a closer look at the thumbnails/preview pane. |
|
Alright! Let's fix up those conflicts and GO GO GO |
There are still some unsolved issues:
|
Re-evaluated this. It no longer occurs. Must have fixed it by setting the keys to HKLM instead of HKCU instead. Behavior seems good now on upgrade. |
@check-spelling-bot Report🔴 Please reviewSee the files view or the action log for details. Unrecognized words (2)Pdb Previously acknowledged words that are now absentappcontainer azurecr binskim buildcommand buildtools cdpxwin CPPARM CPPx CTLCOLORSTATIC defaultcommand dupenv DUSTIN efgh errc errorlevel estdir etcore Firefox Gamebar Grayscale iccex ICONINFORMATION INITCOMMONCONTROLSEX INSTALLLOGATTRIBUTES INSTALLLOGMODE INSTALLUILEVEL LASTEXITCODE LEQ linkid MAINICON MAKELPARAM Minimizeallwindows mkdir moderncop msiexec MSIINSTALLER namings NATIVEFNTCTL neq nocache npm pdb policheck popd pushd rexit robocopy SETRANGE SETSTEP SHAREIMAGELISTS spamming spdth sregex STEPIT Switchbetweenvirtualdesktops SYSTEMASTERISK toolset UITo umd vse vsix WDK wdksetup wdkvsix We'd webclient webpack WINMSAPPTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:yuyoyuppe/PowerToys.git repository |
@check-spelling-bot Report🔴 Please reviewSee the files view or the action log for details. Unrecognized words (2)Pdb Previously acknowledged words that are now absentappcontainer azurecr binskim buildcommand buildtools cdpxwin CPPARM CPPx CTLCOLORSTATIC defaultcommand dupenv DUSTIN efgh errc errorlevel estdir etcore Firefox Gamebar Grayscale iccex ICONINFORMATION INITCOMMONCONTROLSEX INSTALLLOGATTRIBUTES INSTALLLOGMODE INSTALLUILEVEL LASTEXITCODE LEQ linkid MAINICON MAKELPARAM Minimizeallwindows mkdir moderncop msiexec MSIINSTALLER namings NATIVEFNTCTL neq nocache npm pdb policheck popd pushd rexit robocopy SETRANGE SETSTEP SHAREIMAGELISTS spamming spdth sregex STEPIT Switchbetweenvirtualdesktops SYSTEMASTERISK toolset UITo umd vse vsix WDK wdksetup wdkvsix We'd webclient webpack WINMSAPPTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:yuyoyuppe/PowerToys.git repository |
This reverts commit f582b4d.
@check-spelling-bot Report🔴 Please reviewSee the files view or the action log for details. Unrecognized words (2)Pdb Previously acknowledged words that are now absentappcontainer azurecr binskim buildcommand buildtools cdpxwin CPPARM CPPx CTLCOLORSTATIC defaultcommand dupenv DUSTIN efgh errc errorlevel estdir etcore Firefox Gamebar Grayscale iccex ICONINFORMATION INITCOMMONCONTROLSEX INSTALLLOGATTRIBUTES INSTALLLOGMODE INSTALLUILEVEL LASTEXITCODE LEQ linkid MAINICON MAKELPARAM Minimizeallwindows mkdir moderncop msiexec MSIINSTALLER namings NATIVEFNTCTL neq nocache npm pdb policheck popd pushd rexit robocopy SETRANGE SETSTEP SHAREIMAGELISTS spamming spdth sregex STEPIT Switchbetweenvirtualdesktops SYSTEMASTERISK toolset UITo umd vse vsix WDK wdksetup wdkvsix We'd webclient webpack WINMSAPPTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:yuyoyuppe/PowerToys.git repository |
@check-spelling-bot Report🔴 Please reviewSee the files view or the action log for details. Unrecognized words (6)BOOTSTRAPPERINSTALLFOLDER Previously acknowledged words that are now absentCTLCOLORSTATIC efgh errc iccex ICONINFORMATION INITCOMMONCONTROLSEX INSTALLLOGATTRIBUTES INSTALLLOGMODE INSTALLUILEVEL MAINICON MAKELPARAM msiexec MSIINSTALLER NATIVEFNTCTL rexit SETRANGE SETSTEP sregex STEPIT UITo We'dTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:yuyoyuppe/PowerToys.git repository |

Summary of the Pull Request
What is this about:
What is included in the PR:
How does someone test / validate:
Quality Checklist
Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.