Skip to content

Conversation

@mmitche
Copy link
Member

@mmitche mmitche commented Aug 27, 2020

This adds light command package generation to aspnetcore.
After build of a wix project, generate a light package based off of the inputs that are sent to light.exe/lit.exe.

This adds light command package generation to aspnetcore.
After build of a wix project, generate a light package based off of the inputs that are sent to light.exe/lit.exe.
@mmitche mmitche requested a review from dougbu as a code owner August 27, 2020 23:17
@mmitche mmitche requested review from chcosta and jcagme August 27, 2020 23:18
Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

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

At a high level, why is this change needed❔ We already produce *.msi installers e.g. https://github.com/dotnet/aspnetcore/blob/release/5.0/src/Installers/Windows/Wix.props#L10-L15 and the MSIs in BlobArtifacts in (last release/5.0 build) https://dev.azure.com/dnceng/internal/_build/results?buildId=789717&view=artifacts&type=publishedArtifacts

@mmitche
Copy link
Member Author

mmitche commented Aug 28, 2020

At a high level, why is this change needed❔ We already produce *.msi installers e.g. https://github.com/dotnet/aspnetcore/blob/release/5.0/src/Installers/Windows/Wix.props#L10-L15 and the MSIs in BlobArtifacts in (last release/5.0 build) https://dev.azure.com/dnceng/internal/_build/results?buildId=789717&view=artifacts&type=publishedArtifacts

This is so these installers can have files replaced and re-linked after having those files signed. You can decompile msis, exes, etc. to do this operation, but it is very hard because database needs to be altered heavily after the files are signed (e.g. the length of files change). This change effectively just captures the pre-link artifacts (files mentioned in the wixobj's) and creates a little file drop and command line script that can be used the create the MSI. Then it becomes trivial to sign the input files and run the script to produce a signed msi.

@dougbu
Copy link
Contributor

dougbu commented Aug 28, 2020

We sign the input files in a separate step from one one that builds the *.wixproj projects. But, this is about enabling the whole signing (Chrome was kind and auto-corrected that to "singing", must know this is probably good news 🎆) process to be moved out of our pipeline, right❔

@mmitche
Copy link
Member Author

mmitche commented Aug 28, 2020

We sign the input files in a separate step from one one that builds the *.wixproj projects. But, this is about enabling the whole signing (Chrome was kind and auto-corrected that to "singing", must know this is probably good news 🎆) process to be moved out of our pipeline, right❔

Yep. This effectively creates a way to recreate the msis/exes/bundles/wixlib's out of the context of the build.

@Pilchie Pilchie added the feature-installers Includes: Installers label Aug 28, 2020
@mmitche
Copy link
Member Author

mmitche commented Aug 28, 2020

@dougbu Depends on #25373

Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

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

So this will fail until #25373 goes in❔ Changes on top of that look fine though please remember to align the Microsoft.DotNet.Build.Tasks.Installers version and SHA when resolving conflicts with that PR (or whatever the final commit is if the current build fails).

@mmitche
Copy link
Member Author

mmitche commented Aug 28, 2020

So this will fail until #25373 goes in❔ Changes on top of that look fine though please remember to align the Microsoft.DotNet.Build.Tasks.Installers version and SHA when resolving conflicts with that PR (or whatever the final commit is if the current build fails).

Yep and will do.

@mmitche mmitche merged commit 6a3ce0d into dotnet:release/5.0 Aug 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature-installers Includes: Installers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants