2016-01-28 01:46:03 -08:00
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:swid="http://schemas.microsoft.com/wix/TagExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?include "Variables.wxi" ?>
<Bundle Name="$(var.ProductName)" Manufacturer="$(var.Manufacturer)"
2019-03-01 13:07:12 -08:00
Version="$(var.SDKBundleVersion)" UpgradeCode="$(var.UpgradeCode)"
2020-10-01 11:52:12 -07:00
AboutUrl="https://aka.ms/netcorehelp/"
2016-01-28 01:46:03 -08:00
Compressed="yes">
2019-02-19 14:21:54 -08:00
<bal:Condition Message="The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"">
2018-11-21 09:38:54 -08:00
WixBundleInstalled OR ((NOT (DOTNETHOME_X64 ~= DOTNETHOME_X86)) OR DOTNETHOMESIMILARITYCHECKOVERRIDE)
</bal:Condition>
2019-02-19 14:21:54 -08:00
2020-09-10 03:04:54 -07:00
<bal:Condition Message="The installation path for ARM64 SDK installations: "[DOTNETHOME_ARM64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"">
WixBundleInstalled OR ((NOT (DOTNETHOME_ARM64 ~= DOTNETHOME_X86)) OR DOTNETHOMESIMILARITYCHECKOVERRIDE)
</bal:Condition>
2016-01-28 01:46:03 -08:00
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.Foundation">
<bal:WixStandardBootstrapperApplication
2017-06-21 15:15:21 -07:00
LicenseFile="dummyeula.rtf"
2016-01-28 01:46:03 -08:00
ShowFilesInUse="yes"
2018-11-21 09:38:54 -08:00
ShowVersion="yes" />
2016-01-28 01:46:03 -08:00
<PayloadGroupRef Id="DotnetCoreBAPayloads" />
</BootstrapperApplicationRef>
2021-09-13 15:26:02 -07:00
<swid:Tag Regid="microsoft.com" InstallPath="[$(var.Program_Files)]dotnet" />
2016-01-28 01:46:03 -08:00
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_x86"
2019-02-22 16:48:10 -08:00
Variable="DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Result="exists"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="DotnetInstallLocation_x86"
2019-02-22 16:48:10 -08:00
After="CheckDotnetInstallLocation_x86"
Condition="DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Variable="DOTNETHOME_X86"
Result="value"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2020-09-10 03:04:54 -07:00
<util:FileSearch Id="DotnetExeSearch_x86"
2019-02-22 16:48:10 -08:00
After="DotnetInstallLocation_x86"
2018-11-21 09:38:54 -08:00
Variable="DotnetExeExists_x86"
2019-02-22 16:48:10 -08:00
Condition="NOT DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Result="exists"
Path="[ProgramFilesFolder]dotnet\dotnet.exe"/>
2020-09-10 03:04:54 -07:00
<util:DirectorySearch Id="DotnetExeLocation_x86"
2018-11-21 09:38:54 -08:00
After="DotnetExeSearch_x86"
Condition="DotnetExeExists_x86"
Variable="DOTNETHOME_X86"
Path="[ProgramFilesFolder]dotnet"/>
2020-09-10 03:04:54 -07:00
2021-09-02 09:33:59 -07:00
<?if $(var.Platform)!=x86?>
2019-02-22 16:48:10 -08:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_x64"
Variable="DotnetInstallLocationExists_x64"
2018-11-21 09:38:54 -08:00
Result="exists"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x64"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2019-02-22 16:48:10 -08:00
<util:RegistrySearch Id="DotnetInstallLocation_x64"
After="CheckDotnetInstallLocation_x64"
Condition="DotnetInstallLocationExists_x64"
2018-11-21 09:38:54 -08:00
Variable="DOTNETHOME_X64"
Result="value"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x64"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2021-09-02 09:33:59 -07:00
<!-- Determine native OS architecture -->
<util:RegistrySearch Id="CheckProcessorArchitecture_x64"
After="DotnetInstallLocation_x64"
Condition="NOT DotnetInstallLocationExists_x64"
Variable="NativeProcessorArchitecture"
Result="value"
Root="HKLM"
Key="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Value="PROCESSOR_ARCHITECTURE" />
2018-11-21 09:38:54 -08:00
2021-09-02 09:33:59 -07:00
<!-- Check default location when on x64 OS-->
2018-11-21 09:38:54 -08:00
<util:FileSearch Id="DotnetExeSearch_x64"
2021-09-02 09:33:59 -07:00
After="CheckProcessorArchitecture_x64"
2018-11-21 09:38:54 -08:00
Variable="DotnetExeExists_x64"
2021-09-02 09:33:59 -07:00
Condition="NOT DotnetInstallLocationExists_x64 AND NativeProcessorArchitecture="AMD64""
2018-11-21 09:38:54 -08:00
Result="exists"
Path="[ProgramFiles64Folder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_x64"
After="DotnetExeSearch_x64"
Condition="DotnetExeExists_x64"
Variable="DOTNETHOME_X64"
Path="[ProgramFiles64Folder]dotnet"/>
2021-09-02 09:33:59 -07:00
<!-- Check alternate location on non-x64 OS -->
<util:FileSearch Id="DotnetExeSearch_alt_x64"
After="CheckProcessorArchitecture_x64"
Variable="DotnetExeExists_alt_x64"
Condition="NOT DotnetInstallLocationExists_x64 AND NOT NativeProcessorArchitecture="AMD64""
Result="exists"
Path="[ProgramFiles64Folder]dotnet\x64\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_alt_x64"
After="DotnetExeSearch_alt_x64"
Condition="DotnetExeExists_alt_x64"
Variable="DOTNETHOME_X64"
Path="[ProgramFiles64Folder]dotnet\x64"/>
<?endif?>
<?if $(var.Platform)=arm64?>
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_arm64"
Variable="DotnetInstallLocationExists_arm64"
Result="exists"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:RegistrySearch Id="DotnetInstallLocation_arm64"
After="CheckDotnetInstallLocation_arm64"
Condition="DotnetInstallLocationExists_arm64"
Variable="DOTNETHOME_ARM64"
Result="value"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:FileSearch Id="DotnetExeSearch_arm64"
After="DotnetInstallLocation_arm64"
Variable="DotnetExeExists_arm64"
Condition="NOT DotnetInstallLocationExists_arm64"
Result="exists"
Path="[ProgramFiles64Folder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_arm64"
After="DotnetExeSearch_arm64"
Condition="DotnetExeExists_arm64"
Variable="DOTNETHOME_ARM64"
Path="[ProgramFiles64Folder]dotnet"/>
<?endif?>
2018-11-21 09:38:54 -08:00
<!--
2019-02-19 14:21:54 -08:00
When installing the SDK bundle to a custom location using the commandline parameters, it is intended, not mandatory, that
2018-11-21 09:38:54 -08:00
both "DOTNETHOME_X86" and "DOTNETHOME_X64" should be used on the commandline and should take this convention:
DOTNETHOME_X86=<InstallFolder>\x86
DOTNETHOME_X64=<InstallFolder>\x64
Example:
dotnet-sdk-3.0.100-alpha1-009719-win-x64.exe /install DOTNETHOME_X64="D:\dotnet\x64" DOTNETHOME_X86="D:\dotnet\x86" /log "installation.log" /quiet /norestart
-->
2021-09-03 15:41:34 -07:00
<Variable Name="DOTNETHOME_X86" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_X64" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_ARM64" bal:Overridable="yes" />
2018-11-21 09:38:54 -08:00
<Variable Name="DOTNETHOME" Type="string" Value="[DOTNETHOME_$(var.PlatformToken)]" bal:Overridable="no" />
2016-04-27 17:20:52 -07:00
<Variable Name="BUNDLEMONIKER" Type="string" Value="$(var.ProductMoniker)" bal:Overridable="no" />
2019-02-19 14:21:54 -08:00
<Variable Name="DOTNETSDKVERSION" Type="string" Value="$(var.NugetVersion)" bal:Overridable="no" />
2018-04-04 10:37:38 -07:00
<Variable Name="DOTNETRUNTIMEVERSION" Type="string" Value="$(var.DotNetRuntimeVersion)" bal:Overridable="no" />
<Variable Name="ASPNETCOREVERSION" Type="string" Value="$(var.AspNetCoreVersion)" bal:Overridable="no" />
2018-12-14 13:35:20 -08:00
<Variable Name="WINFORMSANDWPFVERSION" Type="string" Value="$(var.WinFormsAndWpfVersion)" bal:Overridable="no" />
2018-11-21 09:38:54 -08:00
<Variable Name="DOTNETHOMESIMILARITYCHECKOVERRIDE" Type="string" Value="" bal:Overridable="yes" />
<Chain DisableSystemRestore="yes" ParallelCache="yes">
2016-03-14 18:54:45 -07:00
<MsiPackage SourceFile="$(var.SharedFXMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2016-06-12 15:33:02 -07:00
<MsiPackage SourceFile="$(var.HostFXRMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2016-03-14 18:54:45 -07:00
<MsiPackage SourceFile="$(var.SharedHostMsiSourcePath)">
2016-01-28 01:46:03 -08:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2018-08-23 17:56:39 -07:00
</MsiPackage>
2019-02-20 16:36:11 -08:00
<MsiPackage SourceFile="$(var.NetCoreAppTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-04-17 12:53:05 -07:00
<MsiPackage SourceFile="$(var.NetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-09-10 03:04:54 -07:00
<?if $(var.Platform)=x86 or $(var.Platform)=x64?>
2019-09-24 10:36:04 -07:00
<MsiPackage SourceFile="$(var.AlternateNetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.ArmNetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.Arm64NetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-04-10 08:55:46 -07:00
<MsiPackage SourceFile="$(var.NetStandardTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-10-22 21:01:47 -07:00
<?endif?>
2020-09-10 03:04:54 -07:00
<MsiPackage SourceFile="$(var.WinFormsAndWpfMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2019-02-20 16:36:11 -08:00
</MsiPackage>
2019-03-19 14:15:32 -07:00
<MsiPackage SourceFile="$(var.WindowsDesktopTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-09-10 03:04:54 -07:00
<MsiPackage SourceFile="$(var.AspNetTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-07-11 00:43:29 +00:00
<MsiPackage SourceFile="$(var.TemplatesMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
</MsiPackage>
2021-05-04 20:55:39 -07:00
<MsiPackage SourceFile="$(var.ManifestsMsiSourcePath)">
2021-03-11 14:03:04 -08:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
2021-05-04 20:55:39 -07:00
</MsiPackage>
2018-11-21 09:38:54 -08:00
<MsiPackage SourceFile="$(var.CLISDKMsiSourcePath)">
2017-04-24 15:42:52 -07:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2018-11-21 09:38:54 -08:00
<MsiProperty Name="DOTNETHOME_X86" Value="[DOTNETHOME_X86]" />
<MsiProperty Name="DOTNETHOME_X64" Value="[DOTNETHOME_X64]" />
2020-09-10 03:04:54 -07:00
<MsiProperty Name="DOTNETHOME_ARM64" Value="[DOTNETHOME_ARM64]" />
2017-06-27 13:46:09 -07:00
<MsiProperty Name="EXEFULLPATH" Value="[WixBundleOriginalSource]" />
2019-05-16 16:33:29 -07:00
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
2017-04-24 15:42:52 -07:00
</MsiPackage>
2017-05-01 21:42:51 -07:00
<?if $(var.Platform)=x86?>
2018-01-05 19:25:07 -08:00
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x86"/>
2017-05-01 21:42:51 -07:00
<?elseif $(var.Platform)=x64?>
2018-01-05 19:25:07 -08:00
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x64"/>
2020-09-10 03:04:54 -07:00
<?elseif $(var.Platform)=arm64?>
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_arm64"/>
2017-05-01 21:42:51 -07:00
<?endif?>
2021-05-04 20:55:39 -07:00
<!--
The finalizer is not an actual installation package. We "detect" the EXE
based on the action the bundle is performing to ensure that it runs the uninstall
command only when the bundle is being removed. The package is always installable because the bundle
will remove (execute the uninstall command) the package if it is not installable when then bundle is
being installed.
-->
<ExePackage SourceFile="$(var.FinalizerExeSourcePath)"
DetectCondition="WixBundleAction >= 3"
Id="Finalizer"
InstallCondition="WixBundleAction >= 4"
2021-07-07 08:04:20 -07:00
UninstallCommand=""[WixBundleLog_Finalizer]" $(var.NugetVersion) $(var.Platform)"
2021-05-04 20:55:39 -07:00
Vital="no" />
2016-01-28 01:46:03 -08:00
</Chain>
</Bundle>
<Fragment>
<PayloadGroup Id="DotnetCoreBAPayloads">
<Payload Name="thm.xml" Compressed="yes" SourceFile="bundle.thm" />
2019-05-29 11:56:22 -07:00
<!-- Default/Neutral localized content is US English -->
<Payload Name="thm.wxl" Compressed="yes" SourceFile="LCID\1033\bundle.wxl" />
2016-03-25 12:50:37 -07:00
<Payload Name="bg.png" Compressed="yes" SourceFile="..\..\osx\clisdk\resources\dotnetbackground.png" />
2019-05-15 12:51:44 -07:00
<?foreach LCID in $(var.LocalizedContentDirs)?>
<Payload Id="thm-$(var.LCID)" Compressed="yes" Name="$(var.LCID)\thm.wxl" SourceFile="LCID\$(var.LCID)\bundle.wxl" />
<?endforeach?>
2016-01-28 01:46:03 -08:00
<Payload Name='eula.rtf' Compressed='yes' SourceFile='!(wix.WixStdbaLicenseRtf)' />
</PayloadGroup>
<CustomTable Id='WixStdbaInformation'>
<Row>
<Data Column='LicenseFile'>eula.rtf</Data>
</Row>
</CustomTable>
</Fragment>
</Wix>