forked from wixtoolset/wix3
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merged PR 41209: Add support for deferred uninstalls
- Updated the standard bootstrapper application, wixstdba: - Add a new BA variable, `RemoveUpgradeRelatedBundle` that supports three values: `never`, `nextSession`, and `always`. - Bundles are responsible for setting the new BA variable. Setting it to an unsupported value will cause it to default to `always`. - `always` enforces the current behavior where older bundles are removed after installing a newer bundle. - `never` sets the related bundle action to none and won't remove older upgrade related bundles. - `nextSession` sets the related bundle action to `BOOTSTRAPPER_REQUEST_STATE_NEXT_SESSION_ABSENT`. This will cause the engine to write the uninstall command to the RunOnce key and remove the previous version in the next session - Updated the setup engine, Burn to recognize the new bootstrapper actions. - `WriteRunOnceUninstallCommand` is responsible for writing the registry key. - `RemoveRunOnceUninstallCommand` is responsible for removing the registry key during a rollback. - The registry key is modified by the EXE package engine when it executes the package. This ensures that the operation executes when the engine is elevated and is required because the RunOnce key resides under HKLM in the registry. - Added support for a new .snk to ensure StrongName signing. Since we do not have access to the private key used by WiX, the .NET copy will sign with a different key, effectively creating a new identity for all the managed binaries in the toolset that differ from the public version of WiX. - We cannot build the full toolset because that requires build agents to have VS2010, 2012, 2013, and 2015 SDKs installed. - Added support for generating a NuGet package. The package will retain the Microsoft.Signed.Wix identity we've used for the Microsoft signed copy of the public WiX v3 toolset. This will limit the impact of the change throughout .NET and simplify consuming it in our builds. - Integrate .NET code signing process. All files will be signed with the Microsoft 3rd Party Application certificate, except for `burn.exe`. The engine should be signed as part of building an installation bundle. - The copy of `NuGet.exe` has been updated to 6.10.2.8
- Loading branch information
Showing
31 changed files
with
684 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<?xml version="1.0" encoding="utf-8" ?> | ||
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
|
||
|
||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> | ||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.props" /> | ||
|
||
<PropertyGroup> | ||
<OutputName>Microsoft.Signed.Wix</OutputName> | ||
<PackageVersion>$(WixSemanticVersion)</PackageVersion> | ||
<ShouldSignOutput>true</ShouldSignOutput> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Stage Include="Microsoft.Signed.Wix.props"> | ||
<StageSubDirectory>build</StageSubDirectory> | ||
</Stage> | ||
<Stage Include="README.md" /> | ||
<Stage Include="MicrosoftDriverInstallFrameworks(DIFx)-Standalone(free)UseTerms.rtf" /> | ||
<Stage Include="wix-white-bg.png" /> | ||
<Stage Include="$(WixRoot)LICENSE.txt" /> | ||
<Stage Include="$(OutputPath)Microsoft.Signed.Wix-$(WixSemanticVersion).zip "> | ||
<StageSubDirectory>tools</StageSubDirectory> | ||
<Unzip>true</Unzip> | ||
</Stage> | ||
</ItemGroup> | ||
|
||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" /> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd"> | ||
<metadata> | ||
<id>Microsoft.Signed.Wix</id> | ||
<version>1.0.0</version> | ||
<title>WiX: Windows Installer XML Toolset</title> | ||
<authors>Microsoft</authors> | ||
<owners>Microsoft</owners> | ||
<requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
<license type="expression">MS-RL</license> | ||
<projectUrl>http://wixtoolset.org/</projectUrl> | ||
<icon>wix-white-bg.png</icon> | ||
<readme>README.md</readme> | ||
<description>This package simply bundles the official binaries as a nuget, with all binaries under tools. An MSBuild | ||
.props file automatically resolves a .wixproj targets and paths to that location. | ||
This allows build scripts to just install this package (potentially using -ExcludeVersion) and use it to build MSIs without requiring additional software on a build server. | ||
|
||
WiX binaries such as custom action and bootstrapper DLLs have been signed with the Microsoft 3rd Party App SHA2 certificate. | ||
</description> | ||
<summary>The most powerful set of tools available to create your Windows installation experience.</summary> | ||
<copyright>© Microsoft Corporation. All rights reserved.</copyright> | ||
<tags>FireGiant WiX</tags> | ||
</metadata> | ||
</package> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<WixInstallPath>$(MSBuildThisFileDirectory)..\tools</WixInstallPath> | ||
<WixExtDir>$(WixInstallPath)\</WixExtDir> | ||
|
||
<WixTargetsPath>$(WixInstallPath)\wix.targets</WixTargetsPath> | ||
<LuxTargetsPath>$(WixInstallPath)\lux.targets</LuxTargetsPath> | ||
|
||
<WixTasksPath>$(WixInstallPath)\WixTasks.dll</WixTasksPath> | ||
<WixSdkPath>$(WixInstallPath)\sdk\</WixSdkPath> | ||
<WixCATargetsPath>$(WixSdkPath)wix.ca.targets</WixCATargetsPath> | ||
</PropertyGroup> | ||
</Project> |
Oops, something went wrong.