-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Remove WiX v3 infrastructure and migrate exclusively to WiX v5 #41975
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
Conversation
Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
…ing documentation Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@copilot We’d better remove InstallerSuffix entirely from the build to ensure the WiX 5 installer doesn’t include it. |
|
Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
Removed InstallerSuffix parameter entirely from the build pipeline, templates, and scripts. The WiX 5 installer now uses simplified naming without any suffix differentiation. Commit d74363c addresses this.
Addressed both issues:
Commit d74363c addresses both points. |
|
/azp run |
|
Azure Pipelines failed to run 1 pipeline(s). |
|
@copilot |
Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
Restored the |
|
@copilot At "Build VNext MSI" step, the output artifact is: Looks like it's introduced in powertoysinstallervnext.wixproj file: |
…x from output Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
Found and removed the remaining InstallerSuffix references in the WiX project files. The "wix5" suffix was being added by:
Removed all InstallerSuffix references and cleaned up DefineConstants. Output artifacts now use clean naming like |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
I am running the build manually and will admin merge if it completes. |
|
This passed in manual run. I'm merging it. |
## Summary: This pull request refactors the installer build pipeline to simplify and modernize the process, focusing exclusively on the WiX 5 (VNext) installer and removing legacy WiX 3 support. It eliminates the use of the `installerSuffix` parameter and related logic, removes the legacy installer build steps and scripts, and updates documentation to reflect the new architecture. The changes streamline the pipeline, reduce complexity, and ensure only the latest installer is built and signed. Pipeline and build system simplification: * Removed the `installerSuffix` parameter and all related logic from pipeline templates and YAML files, including file naming, build steps, and hash calculation scripts. * Removed legacy WiX 3 installer build steps and the associated script `installWiX.ps1`, focusing exclusively on WiX 5 (VNext) installer builds. Installer signing and build process updates: * Updated `.pipelines/ESRPSigning_installer.json` to remove signing configuration for the legacy `PowerToysSetupCustomActions.dll`, ensuring only the VNext DLL is signed. Documentation updates: * Updated `doc/devdocs/core/installer.md` to remove references to WiX 3, clarify the installer architecture as WiX 5 only, and describe the new build process. ## CheckList: - [ ] Should Build successfully and produce installer for both per user and per machine - [ ] Should install without problem --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com> (cherry picked from commit 63da56f)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request migrates the PowerToys installer from WiX v3 to WiX v5, removing legacy WiX v3 infrastructure and the -InstallerSuffix parameter. The migration simplifies the installer build process by eliminating the need for separate WiX v3 installation and leveraging NuGet-based WiX v5 SDK.
- Removes all WiX v3 projects, custom actions, and configuration files from the
installer/PowerToysSetupdirectory - Removes the
ensure-wix.ps1script that installed WiX v3.14 - Eliminates the
-InstallerSuffixparameter from build scripts and project files - Updates documentation to reflect WiX v5 requirements and removes WiX v3 references
- Removes the old WiX v3 pipeline template
Reviewed Changes
Copilot reviewed 62 out of 68 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/build/ensure-wix.ps1 | Deleted - WiX v3 installation script no longer needed |
| tools/build/build-installer.ps1 | Removed InstallerSuffix parameter and references |
| installer/wix.props | Deleted - WiX v3 configuration file |
| installer/PowerToysSetupVNext/*.wixproj | Removed InstallerSuffix from DefineConstants and OutputName |
| installer/PowerToysSetupVNext/Common.wxi | Removed InstallerSuffix from MSI name definitions |
| installer/PowerToysSetup/* | Deleted entire WiX v3 project directory including all .wxs files |
| installer/PowerToysSetupCustomActions/* | Deleted all WiX v3 custom actions source code |
| installer/PowerToysSetup.sln | Removed WiX v3 project references |
| doc/devdocs/core/installer.md | Updated documentation for WiX v5 requirements |
| .pipelines/v2/templates/steps-build-installer.yml | Deleted WiX v3 pipeline template |
…soft#41975) This pull request refactors the installer build pipeline to simplify and modernize the process, focusing exclusively on the WiX 5 (VNext) installer and removing legacy WiX 3 support. It eliminates the use of the `installerSuffix` parameter and related logic, removes the legacy installer build steps and scripts, and updates documentation to reflect the new architecture. The changes streamline the pipeline, reduce complexity, and ensure only the latest installer is built and signed. Pipeline and build system simplification: * Removed the `installerSuffix` parameter and all related logic from pipeline templates and YAML files, including file naming, build steps, and hash calculation scripts. * Removed legacy WiX 3 installer build steps and the associated script `installWiX.ps1`, focusing exclusively on WiX 5 (VNext) installer builds. Installer signing and build process updates: * Updated `.pipelines/ESRPSigning_installer.json` to remove signing configuration for the legacy `PowerToysSetupCustomActions.dll`, ensuring only the VNext DLL is signed. Documentation updates: * Updated `doc/devdocs/core/installer.md` to remove references to WiX 3, clarify the installer architecture as WiX 5 only, and describe the new build process. - [ ] Should Build successfully and produce installer for both per user and per machine - [ ] Should install without problem --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com>
Summary:
This pull request refactors the installer build pipeline to simplify and modernize the process, focusing exclusively on the WiX 5 (VNext) installer and removing legacy WiX 3 support. It eliminates the use of the
installerSuffixparameter and related logic, removes the legacy installer build steps and scripts, and updates documentation to reflect the new architecture. The changes streamline the pipeline, reduce complexity, and ensure only the latest installer is built and signed.Pipeline and build system simplification:
installerSuffixparameter and all related logic from pipeline templates and YAML files, including file naming, build steps, and hash calculation scripts.installWiX.ps1, focusing exclusively on WiX 5 (VNext) installer builds.Installer signing and build process updates:
.pipelines/ESRPSigning_installer.jsonto remove signing configuration for the legacyPowerToysSetupCustomActions.dll, ensuring only the VNext DLL is signed.Documentation updates:
doc/devdocs/core/installer.mdto remove references to WiX 3, clarify the installer architecture as WiX 5 only, and describe the new build process.CheckList: