Commit graph

33 commits

Author SHA1 Message Date
Sridhar Periyasamy
ae041c8f61 Address some PR feedback.
- Make the MSI scripts to use parameters instead of environment variables.
2016-03-08 23:31:14 +00:00
Sridhar Periyasamy
d4a3190bfc Refactor the build scripts
- Bifurcate Package and Publish targets to enable signing.
- Move publish from bash/ps into c#.
- Create multiple targets to create MSIs and Bundles.
2016-03-07 12:20:50 -08:00
Sridhar Periyasamy
834edfbc9c Add support for building Windows x86 version of dotnet CLI
- Changes to build scripts to produce Winx86 build artifacts like
  zip/installer.
- Change to run Nuget-xplat in the same process as dotnet.exe instead of
  spinning up a new 'corerun' process.
2016-02-23 18:04:49 -08:00
Sridhar Periyasamy
e9d2a37427 Download Wix tools v3.10.2
Security vulnerability with earlier Wix versions -
https://www.firegiant.com/blog/2016/1/20/wix-v3.10.2-released/
2016-02-22 15:24:34 -08:00
Sridhar Periyasamy
8179958342 Upgrade Wix to stable version 3.10.1.
Get rid of dummy project and instead download Wix tools directly.
2016-02-22 11:57:43 -08:00
Piotr Puszkiewicz
e625cbcf7a Removes usage of DOTNET_HOME in CLI repo.
DOTNET_HOME is no longer required, though it is a documented override, so this change removes all unnecessary references to DOTNET_HOME from the CLI Repo.
2016-02-18 15:38:23 -08:00
Sridhar Periyasamy
56e3d8f903 Upload bundles instead of MSI 2016-02-10 13:06:48 -08:00
Eric Erhardt
faa88ae155 Move Msi tests into the \test directory.
Partial #1250
2016-02-09 13:15:01 -06:00
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
Sridhar Periyasamy
cbdd098ef6 Merge pull request #1063 from robmen/msi-perf
Improve MSI performance
2016-01-29 08:54:35 -08:00
Andrew Stanton-Nurse
91f229ea80 fix versions in packaged command consumer tests 2016-01-28 22:33:22 -08:00
Sridhar Periyasamy
c6f060d9e9 Merge pull request #1062 from robmen/fix-component-rules
Fix Component Rules violations.
2016-01-28 10:06:04 -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
f866bb6830 Minor code clean up.
There is now less code and it is more consistent with the other code in
the project.
2016-01-27 00:10:24 -08:00
Rob Mensching
d4fbfd51bf Ensure LaunchCondition will not prevent repair/uninstall
A typical LaunchCondition should not block the user from removing a
package. LaunchConditions should also not prevent repair from fixing
the machine state, especially if the machine state needs to be repaired
for the LaunchCondition to evaluate. To avoid both problems the
condition was updated such that once installed the package can always
be repaired and uninstalled.
2016-01-27 00:10:23 -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
Andrew Stanton-Nurse
066bebcc6c bootstrap using nuget instead of dnx 2016-01-26 23:25:37 -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
Rob Mensching
b6c72d725d Fix Component Rules violations.
All resources should be installed by one and only one Component, where
Component is defined by the Component/@Guid. The SetupRegistry_x64 and
SetupRegistry_x86 Components were sharing the env vars across the 32-bit
and 64-bit packages. That is a Component Rule violation.

The fix is simple. Since the 32-bit registration is always required, let
it handle the env var installation. The code is cleaner as well.
2016-01-26 22:48:39 -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
Andrew Stanton-Nurse
3d493f7d9d switch from DNX to cross-plat NuGet! 2016-01-19 11:43:09 -08:00
Sridhar Periyasamy
4b433af7fe Update variables.wxi
Fix typo in error message.
2016-01-14 16:39:10 -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
Bryan
7011f9e604 update everything to DOTNET_CLI_VERSION
Some package_tool fixes
2016-01-13 02:22:53 -08:00
Piotr Puszkiewicz
4b217db9c0 Clean up build scripts
Decompose into self-contained granular components
Provide reasonable defaults for cross cutting concerns, allowing for independent execution of steps
Start unifying Windows/Bash architecture

fix Bash CI scripts

dockerbuild.sh _common.sh path

Add missing restore-packages.sh

Copy/paste issues

Quote $SOURCE
fix .gitignore

PR Feedback

Merge in @SridarMS's work to avoid redownloading DNX

enabling build of dotnet-build

merge in @SridharMS's CentOS changes

Enable building FSC

enable restoring specific subdirectories

Fix dnx version check

Add missed dependency

Fix pathing to tests

Match Linux build version to Windows, fixing linux tests as a side effect.

workaround for coreclr#2215

fix pathing issue

disable building in docker

BUILD_IN_DOCKER was set, somehow...

fix headers
2015-12-29 01:59:02 -08:00
Sridhar Periyasamy
e131be5aaa Unit tests for Dotnet MSI
- Needs a clean machine without dotnet MSI installed for the tests to run.
- Needs admin privileges to run. Else test script exits silently.
- These xunit based tests run on Netfx46.

For now these tests are disabled until I figure out the right way to run
them in the CI machines.
2015-11-24 17:48:58 -08:00
Sridhar Periyasamy
3f00cfbeb9 x64 installer now creates registry keys in both x64 and Wow32 hives.
This is required to enable 32-bit MSIs (like VS) that need to access the
registry key on a 64-bit OS. Refer #250
2015-11-20 18:32:58 -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
c79f48a745 Add missing wxs files for building MSI. 2015-11-17 20:53:49 -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