-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
Make sure the final WiX bundle contains a *signed* MSI #17446
Conversation
Ah, the CI pipeline does rely on that dependency. We can fix that, but I want to make sure that this is in the right direction. |
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.
Why do we need to remove the dependency, though? MSBuild should detect that the file is newer. and that the project doesn't need to be rebuilt.
I think /p:BuildProjectReferences=false
would be able to do it as well.
https://docs.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022#list-of-common-properties-and-parameters
And thanks for working on the fix :) |
Honestly, the most correct way to fix this would be to have the bundle build process pick up a different input directory for the MSI based on whether CIBuild was set to true. I know that. I am just being lazy. |
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.
We ended up needing to remove the dependency. Let's go with this.
Thank you for the contribution!
What is this about:
The Release build pipeline was (1) cleaning the PowerToysSetup solution,
which deleted the recently-signed PowerToys MSI and (2) rebuilding the
PowerToys MSI regardless of cleaning (thanks to WiX.)
This resulted in the final bundle still containing an unsigned MSI
despite all our attempts to sign it.
What is included in the PR:
I've turned off build cleaning and broken the dependency between
PowerToysBootstrapper and PowerToysSetup. This results in msbuild not
running the PowerToysSetup project's build steps at all, and therefore
not overwriting the signed msi with a newly-linked unsigned one.
How does someone test / validate:
See screenshots posted in followup comment.
Quality Checklist