Changes in SDK bundle installation methodology:
1. Manage the 3 potential SDK bundle installation locations
In precedential order:
A. the SDK bundle’s self-registered installation location [x64 or x86]
B. ‘Program Files’ + “dotnet” [if 'dotnet.exe' exists]
C. the “installpath’s” input parameter’s value
D. ‘Program Files’ + “dotnet”
2. Communicate the SDK bundle installation location to the chained MSIs
3. Disable the CLI SDK MSI from installing ‘stand-alone’
4. SDK bundle self-registers the installation location value.
Other:
* Adding a file search for 'dotnet.exe'; updates
* Changing the MSI blocking conditional.
* Changed: "AuthoredRegistryKeys" to : "AuthoredRegistryKeys_x86node"
* Managing the x86 and x64 install locations
* "DOTNETHOME" should not overridable; adding an explicit override for identical install paths: "DOTNETHOMESIMILARITYCHECKOVERRIDE"; adding comments.
To avoid sign check whitelist apphost.exe name changes very build. Sign check uses File Id in MSI as whitelist name. Template apphost.exe get a new "File Id" in msi different every time (since File Id is generated according to file path, and file path has version number). Use XSLT tranform to match the file path contains "AppHostTemplate\apphost.exe" and give it the same ID all the time.
cache folder $HOME/.dotnet is created during the install process and user
use. However .dotnet folder belongs to root for ubuntu and mac due to
sudo -H policy. Override HOME during installation.
Issue https://github.com/dotnet/cli/issues/7091
Add internal command dotnet internal-reportinstallsuccess. Before
Windows installer finishes, run this command instead of dotnet new. It
will trigger the first time experience as well as sending telemetry with
installer exe name.
This command blocks to ensure that the webservice call completes.
According to https://github.com/dotnet/cli/issues/6682
Window title
Update Introduction step content
Include installation location and list of all components installed
Update Summary step content
What is not included:
Remove "Welcome to ..." text -- it come from the installer tool
itself, it cannot be customized
Add 'success' graphic – cannot include picture in the html used by
the installer