Skip to content

Conversation

@mmitche
Copy link
Member

@mmitche mmitche commented Jun 17, 2022

Wixpacks were implemented for post-build signing to allow us to sign MSIs and bundles after the build was done. They are a separate zip file that contains the files necessary to reconstruct an installer. Prior to post-build signing, repositories producing installers typically signed the files going into the installer, then created the installer, then signed it. Potentially there were other stages for nested installers, dealing with bundles, etc.

There is a push to add back in-build signing. The in-build staged installer creation/signing steps have been removed from some repos. Rather than add these back, it makes more sense to enable signing installer as part of the normal signing process, which happens just before the publish stage of the build. Here the files to be signed are analyzed, unpacked, signed, and repacked.

To do this, we need a tweak to Arcade to send the path to the wix tooling to the sign task. If a repo produces no installers or wixpacks, this tooling will be unused.

While doing this, I also unified some of the wix tooling packages in use to use the same version of the package.

To double check:

Wixpacks were implemented for post-build signing to allow us to sign MSIs and bundles after the build was done. They are a separate zip file that contains the files necessary to reconstruct an installer. Prior to post-build signing, repositories producing installers typically signed the files going into the installer, then created the installer, then signed it. Potentially there were other stages for nested installers, dealing with bundles, etc.

There is a push to add back in-build signing. The in-build staged installer creation/signing steps have been removed from some repos. Rather than add these back, it makes more sense to enable signing installer as part of the normal signing process, which happens just before the publish stage of the build. Here the files to be signed are analyzed, unpacked, signed, and repacked.

To do this, we need a tweak to Arcade to send the path to the wix tooling to the sign task. If a repo produces no installers or wixpacks, this tooling will be unused.

While doing this, I also unified some of the wix tooling packages in use to use the same version of the package.
@mmitche mmitche requested review from joeloff and missymessa June 17, 2022 19:41
@mmitche
Copy link
Member Author

mmitche commented Jun 17, 2022

joeloff
joeloff previously approved these changes Jun 17, 2022
Copy link
Member

@AraHaan AraHaan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also plans to update the WixTools part of the SharedFramework SDK which is also outdated (can could benefit from using $(MicrosoftSignedWixVersion).

I would love to update it myself, but since this PR would make it needless I think it should be updated here as well.

missymessa
missymessa previously approved these changes Jun 21, 2022
Copy link
Member

@missymessa missymessa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the build of this broke, but after that's fixed...

LGTM shipit

@mmitche mmitche dismissed stale reviews from missymessa and joeloff via 5f2cab6 June 27, 2022 19:30
@mmitche
Copy link
Member Author

mmitche commented Jun 28, 2022

Also plans to update the WixTools part of the SharedFramework SDK which is also outdated (can could benefit from using $(MicrosoftSignedWixVersion).

I would love to update it myself, but since this PR would make it needless I think it should be updated here as well.

@AraHaan Do you have the 1.0.0-v3.14.0.6526 package around? It's not available.

@joeloff
Copy link
Member

joeloff commented Jun 28, 2022

@mmitche the WiX package we use is an internal build that is signed with additional certificates. It's currently produced from an internal pipeline.

@mmitche mmitche enabled auto-merge (squash) June 28, 2022 19:43
@mmitche mmitche requested review from joeloff and missymessa June 28, 2022 19:43
@mmitche mmitche merged commit 0ce6d6a into dotnet:main Jun 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants