Call tasks to gather light command packages after the build of each
installer. The way this is implemented is not ideal. Because powershell
scripts are used to invoke the WiX toolset, the light command package
info must be kept in sync. That said, the command lines and input files
do not change very often.
It's also on the table for .NET 6 to change around and unify the WiX
calls between the repos.
This also changes around the batching for the template MSIs to be compatible
with the call to the light command task
Makes the following artifacts non-shipping:
- template msis
- sdkplaceholders
- sdk-internal archives
For now these have been preserved as non-shipping rather than not published at all.
They all get packaged up in the VS insertion nupkgs, so I think in reality we don't need them at all.
We were bumping targeting pack, framework-dependent default
runtime version, and self-contained default (latest) runtime
version in unison. This only works for previews where these
versions are all the same always. Now that we're servicing 3.0,
we:
1. Pin targeting packs to 3.0.0
2. Fix default framework-dependent runtime version at 3.0.0
This change also:
* Removes dependencies on legacy/internal netcoreapp packages. We
now use Microsoft.NETCore.App.Internal version exclusively to
calculate the blob storage path for core-setup.
* Uses PackageDownload for all templates, including
latest. PackageReference had been used for latest only because
it hid another bug with the netcoreapp reference of
redist.csproj that is fixed here. That reference is now a
FrameworkReference as it should be.
* Removes a bunch of shenanigans from
GenerateBundledVersions.props that were causing issues with
above. One casualty of that is that we hard code the RID lists
for runtime pack, which I don't think is too bad, and actually
will make it easier to merge in source build patches.
* Cleans up how runtime and targeting pack versions are
referenced throughout, removing incorrect assumptions about
them being the same.
* Incorporates a prior closed PR to use suffixed version for blob
storage, even when assets coming from blob storage are
stabilized. It needed changes to merge with this.
Note:
* A similar theoretical servicing issue exists for the versions
of apphost, hostfxr, shared host, which are still assumed to be
the same as the runtime version in several places. If we choose
to service those independently, more work is required.
* There will be a 3.0.1 ASP.NET targeting pack, and so we will
have to unpin that once it is ready. This change establishes
the baseline of all targeting packs being pinnned, and they can
be unpinned in the (hopefully rare) cases where they need to be
serviced.
* Fix resource branding
The resource branding for MicrosoftNETCoreApp and the Windows desktop runtime does not come from the same properties any longer. Use appropriate properties instead.
* Fix Linux native installer branding
Also clean up a bunch of issues with the generatenupkg script:
* Output from nuget pack was getting lost
* Non-existent file was imported
* Literal '-ForegroundColor Green' was printed to the screen (didn't actually change the color)
* nuget.exe was being put inside the src/ tree, moved to artifacts/Tools/nuget
* Temporary nuspec was created unnecessarily, now use -Properties instead of search and replace
* Downgraded to nuget 3.5.0 to workaround a perf issue in nuget 4.x pack