Commit Graph

10 Commits

Author SHA1 Message Date
William Godbe a8646e3022
Fix .msi names (#28572) 2020-12-10 12:01:51 -08:00
William Godbe a4f30aeec3
Make sure SharedFx & TargetingPack msi names match (#28298)
* Make sure SharedFx & TargetingPack msi names match

* Insert packageVersion into OutputName when available

* Move props around again
2020-12-08 14:14:21 -08:00
Matt Mitchell a0ab0964d4
[release/5.0] Fix some post-build signing issues (#26506)
* Fix some post-build signing issues
This fixes some post-build signing issues that are present in the aspnetcore repo
1. Add the .msi extension to be signed by Microsoft400 - Msis must be signed. With in-build signing these get handled explicitly by the wixproj infrastructure. When we do post build signing, we must sign these files.
2. Remove the strong name exclusions. These exclusions are incorrect when applied in post-build and unnecessary for in-build signing. Most importantly, the aspnetcore PKT would not end up re-strong named (it doesn't need to be strong name signed by ESRP since it's strong named in-build) because the PKT doesn't match any of the StrongNameSignInfo specified in arcade. The rest of the entries seem to be mostly about optimization. I could not find any performance difference between these entries being present and not. I am not sure whether they actually even apply to any assets. Moreover, when doing post-build signing, they would conflict with the entries in runtime and other places.

Verification - I have a tool that I wrote which unpacks every file between two directories and compares the strong name, nuget, and authenticode certs between equivalent files. This is the same tool being used to verify post-build signing. This tool shows no difference in any aspnetcore produced asset.

Baseline: https://dev.azure.com/dnceng/internal/_build/results?buildId=836183&view=results
Diff: https://dev.azure.com/dnceng/internal/_build/results?buildId=837176&view=results

* Do not push VS packages for installers when PostBuildSign == true

* Output wix command packages to the installers output path

* Don't import microbuild signing targets from wix when PostBuildSign=true

* Tweaks:
- Don't sign wixpacks when not in post-build signing
- Generate a wixpack for both the original msi name (which the wixproj generates) AND the name we use in the final outputs. This is because while these files are the same, signing differentiates the certificate based on the file name, and wixpack lookup is also based on the file names. Aspnetcore and other repos have uses the final outputs (e.g. dotnet-aspnetcore-runtime-123.5..) as well as the internal names (e.g. AspNetCoreSharedFramework_x64.msi).
- Don't sign msi's when not post-build signing.

* Avoid generating sha512 files for wixpack zips

* Don't run xplat code sign jobs if PostBuildSign == true

* Change original target names

* Conditionalize codesign operations

* Add publishing flag for linux x64 and add deb sha512 generation

* Do not push the x64 linux runtime archive more than once
2020-10-14 10:19:10 -07:00
Nate McMaster 7ee3399ce2
Fix code-signing for xplat packages and Windows installers (#7191) 2019-02-01 10:52:00 -08:00
Justin Kotalik 2b7a3a222a Build Windows Installers using the repo's main build script and repotasks (#6139)
Follow-up to #6078

This should solve race conditions in restoring .wixproj files.

Co-authored-by: Nate McMaster <natemcmaster@users.noreply.github.com>
Co-authored-by: Justin Kotalik <jkotalik@users.noreply.github.com>
2018-12-31 10:54:15 -08:00
Nate McMaster 354c636498
Update Windows installer projects to use ProjectReference (#6078)
Changes:
* Build installer projects in parallel.
* Use `ProjectReference` to ferry bits between installer projects.
* Don't build wixproj to a unified output directory. This was only done to simplify finding file paths to MSI's built by other projects, but ProjectRef solves that.
* Add a VS solution for working on wixproj and the associated C++ custom actions.
   * To make wixproj work in VS, I replaced default globs with listing .wxs and .wxl files in the wixproj file.
* Add a target to copy the installers to the artifacts directory according to the layout described in /docs/Artifacts.md
2018-12-21 09:44:31 -08:00
Nate McMaster c9747bcf6b
Use Microsoft400 for code signing CAB, MSI, and installer bundles (#1433) 2018-09-27 12:58:41 -07:00
Nate McMaster db1e4cf3d4
Use Microsoft400 for installers signing, not 401 (#1426)
400 only uses a SHA2 cert instead of dual signing.
2018-09-27 10:39:18 -07:00
Nate McMaster 06568d990b
Set the signing cert for .msi files to the 'Microsoft' certificate 2018-09-06 16:30:03 -07:00
Nate McMaster b67a141263
Add code for building the Windows Hosting Bundle and ASP.NET Core runtime installers into this repo
This code previously was in private repos because it had references to internal locations and drop shares. This code has been modified to remove these internal-only pieces.
2018-08-20 15:56:22 -07:00