Commit graph

11 commits

Author SHA1 Message Date
Rob Mensching
4806977ee2 Create bundle for Windows
Creates a nice looking bundle that installs the .NET Core MSI package.
Prerequisites and additional packages can be added as needed.

Resolves #1064
2016-01-29 12:50:12 -08:00
Rob Mensching
252456a28e Enable all MSIFASTINSTALL optimizations
The dotnet/cli is a very self contained installation package primarily
composed of files. Thus system restore adds little value and costing
only files is sufficient to verify disk space. The result is a 20%
install time reduction, ~2 seconds, on my machine where system restore
is disabled. The win is *much* larger where system restore is still on
(the default).
2016-01-27 00:10:26 -08:00
Rob Mensching
ceb9c90d54 Better compression for smaller package
Increasing the compression from "mszip" (which is notoriously out of
 date) to "high" reduces the package size by 17% with no appreciable
change in build or install time. In other words, this is a free 8 MB
savings off the download size/time.
2016-01-27 00:10:25 -08:00
Rob Mensching
49a992dd2d Remove unnecessary custom action
Type 51 custom actions, SetProperty, are mostly benign but if possible
custom actions should be avoided at all costs. Here we centralize the
build type check in a single location and use preprocessor variable to
remove the need for the custom action.
2016-01-26 23:28:02 -08:00
Rob Mensching
74f0c7a839 Remove ProgramFiesFolder name
Providing a name, particularly a long name, for ProgramFilesFolder in
a compressed MSI only bloats the installation.
2016-01-26 23:24:50 -08:00
Joel Hendrix
bea47e6675 The dotnet MSI doesn't properly set ALLUSERS property.
The dotnet installer writes content under %ProgramFiles% which is
machine-wide and requires elevation. The Package@InstallScope attribute
must be set to perMachine in this case and will ensure that the Burn
bootstrapper prompts for elevation during install.
2016-01-22 13:53:39 -08:00
Sridhar Periyasamy
fc8c6666fd Prevent upgrades between 'nightly' and 'release' builds of Dotnet CLI.
Set a new registry 'BuildType' when installing. Check for this reg key
when upgrading to a newer version. Show error message and exit
if the previous installation does not have the same 'BuildType'.
2016-01-14 15:03:32 -08:00
Sridhar Periyasamy
1308e27a74 Enable build-to-build major upgrades for MSI.
Encode the CLI version into MSI supported ProductVersion documented here -
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370859(v=vs.85).aspx
Example: CLI Version - 1.0.0.000930 is encoded in MSI as 4.0.930

Prevent downgrading by failing installation with error message.
Also display the original CLI version in the ProductName.
2016-01-13 15:48:45 -08:00
Sridhar Periyasamy
040e7f5d84 Change the install path, registry key path and environment component.
Install path is now %ProgramFiles%\dotnet
Registry root is now "HKLM\SOFTWARE\dotnet\Setup"
Env variables setup is now associated with a versioned component - the
registry keys. Environment resource cannot serve as a keypath hence it is
coupled with a registry key which is the key path for the component.
2015-11-20 17:44:48 -08:00
Sridhar Periyasamy
57b1b5b290 Changes to dotnet MSI authoring based on netfx mtpack authoring.
- Added reg keys to detect installation.
- Added dependency provider keys
2015-11-17 20:32:02 -08:00
Sridhar Periyasamy
fb61e69a79 First pass at building Windows MSI for the dotnet CLI repo.
- Use the heat tool to harvest the stage2 dir and create install-files.wxs
- dotnet.wxs contains the XML code which is constant across builds for an MSI.
- Use Candle and Light to generate the MSI from install-files.wxs and dotnet.wxs.

Default Install Location - %ProgramFiles%/dotnet.
Adds <InstallRoot>\bin %PATH%
Creates %DOTNET_HOME% pointing to <InstallRoot>
2015-11-17 00:39:46 -08:00