@joebigelow / wix / commits / a962b626

Update package Cache attribute to new attribute values

Closes wixtoolset/issues#5125

Rob Mensching committed May 16, 2021 at 21:53 UTC a962b626a238dab205c7d0dccd52120081ccf5d3
24 files changed +311 -129
src/api/wix/WixToolset.Data/BundleCacheType.cs new
+19
@@ -0,0 +1,19 @@
1 +// 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.
2 +
3 +namespace WixToolset.Data
4 +{
5 + /// <summary>
6 + /// Keep, Remove, Force xml simple type.
7 + /// </summary>
8 + public enum BundleCacheType
9 + {
10 + /// <summary>The keep value.</summary>
11 + Keep,
12 +
13 + /// <summary>The remove value.</summary>
14 + Remove,
15 +
16 + /// <summary>The force value.</summary>
17 + Force,
18 + }
19 +}
src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs
+2 -2
@@ -117,9 +117,9 @@ namespace WixToolset.Data.Symbols
117 set => this.Set((int)WixBundlePackageSymbolFields.InstallCondition, value);
118 }
119
120 - public YesNoAlwaysType Cache
120 + public BundleCacheType? Cache
121 {
122 - get => Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.Cache], true, out YesNoAlwaysType value) ? value : YesNoAlwaysType.NotSet;
122 + get => Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.Cache], true, out BundleCacheType value) ? value : (BundleCacheType?)null;
123 set => this.Set((int)WixBundlePackageSymbolFields.Cache, value.ToString().ToLowerInvariant());
124 }
125
src/api/wix/WixToolset.Data/YesNoAlwaysType.cs deleted
-25
@@ -1,25 +0,0 @@
1 -// 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.
2 -
3 -namespace WixToolset.Data
4 -{
5 - /// <summary>
6 - /// Yes, No, Always xml simple type.
7 - /// </summary>
8 - public enum YesNoAlwaysType
9 - {
10 - /// <summary>Not a valid yes, no or always value.</summary>
11 - IllegalValue = -2,
12 -
13 - /// <summary>Value not set; equivalent to null for reference types.</summary>
14 - NotSet = -1,
15 -
16 - /// <summary>The no value.</summary>
17 - No,
18 -
19 - /// <summary>The yes value.</summary>
20 - Yes,
21 -
22 - /// <summary>The always value.</summary>
23 - Always,
24 - }
25 -}
src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs
+3 -3
@@ -20,7 +20,7 @@
20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
21
22 <PackageGroup Id="$(var.AspNetCoreRedistId)">
23 - <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="no">
23 + <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="remove">
24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="5CE9839CAE90FB2936033431F2905E97C7DC080DC50108D58714939CCCC6A265694B8259A3BF742A68BF04D9CFFB0602B0306DD401C4CE644BDB96C7D1168E59" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" />
25 </ExePackage>
26 </PackageGroup>
@@ -35,7 +35,7 @@
35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
36
37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)">
38 - <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="no">
38 + <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="remove">
39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Hash="CD69B8722B2FF175FADD6774AB6A97F89292FC57A15CEC95218E79FFF1E26F46A7EFFFB15CE0F6D22B83B991F7083BB5C04F5158F87D298EA0F204933F8ECD27" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Size="54284816" Version="3.1.12.29719" />
40 </ExePackage>
41 </PackageGroup>
@@ -50,7 +50,7 @@
50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
51
52 <PackageGroup Id="$(var.DotNetCoreRedistId)">
53 - <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="no">
53 + <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="remove">
54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x64)" Hash="9B3F882AE5DFDC8B50D3CEC4F3292292D658B2FECB84B3F73426FB3C16E6FC6B8E7118EF559CFAE25ED7A2C175FA4D89E18986CA3C05D15F706524FBB667F702" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x64)" Size="26090616" Version="3.1.12.29719" />
55 </ExePackage>
56 </PackageGroup>
src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs
+3 -3
@@ -20,7 +20,7 @@
20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
21
22 <PackageGroup Id="$(var.AspNetCoreRedistId)">
23 - <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="no">
23 + <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="remove">
24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="03EE5F6D3B2AF8FFE2A5154BB05E50938E2D36E98D996D9E67A3C349DD0C8B3051D5A9628F48C51E006CEA0B1F4484B4BE51920FE5CA841060B0D2C6A12FD5D2" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" />
25 </ExePackage>
26 </PackageGroup>
@@ -35,7 +35,7 @@
35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
36
37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)">
38 - <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="no">
38 + <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="remove">
39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Hash="C211A7F29D9B6FEEFCF0379B153FFBFB815157D3D494CFD7D0D84D619701EEA284BF12502094BCFF2BB2968213190454E7CE0E865FD623E78C2FCDAEBEF963DA" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Size="48590696" Version="3.1.12.29719" />
40 </ExePackage>
41 </PackageGroup>
@@ -50,7 +50,7 @@
50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
51
52 <PackageGroup Id="$(var.DotNetCoreRedistId)">
53 - <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="no">
53 + <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="remove">
54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x86)" Hash="BA18F9028B19630D91017BEACCD8D79388125C228A83B5A62306108F3BB283617A7ED9B98785BC73192EC00E5D186DA767E940DCAB388699FAF274E437D0C16F" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x86)" Size="23392184" Version="3.1.12.29719" />
55 </ExePackage>
56 </PackageGroup>
src/ext/NetFx/wixlib/NetFx452.wxs
+2 -2
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx452WebPackageDirectory" Value="redist\" Overridable="yes" />
32
33 <PackageGroup Id="$(var.NetFx452WebId)">
34 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullWebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452WebDetectCondition)" InstallCondition="!(wix.NetFx452WebInstallCondition)" Id="$(var.NetFx452WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullWebLog" Cache="no">
34 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullWebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452WebDetectCondition)" InstallCondition="!(wix.NetFx452WebInstallCondition)" Id="$(var.NetFx452WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullWebLog" Cache="remove">
35 <ExePackagePayload Name="!(wix.NetFx452WebPackageDirectory)NDP452-KB2901954-Web.exe" DownloadUrl="$(var.NetFx452WebLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="90A3A5A57EA8A6508EEE0D129303C7CB012AABF651DD9A6BEFC20DA3BBDB09FC47FD087645051D3D45BFF909DFC6E6039C22C4816FBC793A847E81701248639E" ProductName="Microsoft .NET Framework 4.5.2" Size="1118920" Version="4.5.51209.34209" />
36 </ExePackage>
37 </PackageGroup>
@@ -53,7 +53,7 @@
53 <WixVariable Id="NetFx452RedistPackageDirectory" Value="redist\" Overridable="yes" />
54
55 <PackageGroup Id="$(var.NetFx452RedistId)">
56 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452RedistDetectCondition)" InstallCondition="!(wix.NetFx452RedistInstallCondition)" Id="$(var.NetFx452RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullLog" Cache="no">
56 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452RedistDetectCondition)" InstallCondition="!(wix.NetFx452RedistInstallCondition)" Id="$(var.NetFx452RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullLog" Cache="remove">
57 <ExePackagePayload Name="!(wix.NetFx452RedistPackageDirectory)NDP452-KB2901907-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx452RedistLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="033D457229C4FE6EEA7B1E42A3A39DD4CF6A054C5E996CE036942DD2FE9623FD3A0634BE5DCB88506C1C61BF9FF6076F27B4ECEC38F8CF85603AF018111E584D" ProductName="Microsoft .NET Framework 4.5.2" Size="69999448" Version="4.5.51209.34209" />
58 </ExePackage>
59 </PackageGroup>
src/ext/NetFx/wixlib/NetFx46.wxs
+2 -2
@@ -32,7 +32,7 @@
32 <WixVariable Id="NetFx46WebPackageDirectory" Value="redist\" Overridable="yes" />
33
34 <PackageGroup Id="$(var.NetFx46WebId)">
35 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46WebDetectCondition)" InstallCondition="!(wix.NetFx46WebInstallCondition)" Id="$(var.NetFx46WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="no">
35 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46WebDetectCondition)" InstallCondition="!(wix.NetFx46WebInstallCondition)" Id="$(var.NetFx46WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="remove">
36 <ExePackagePayload Name="!(wix.NetFx46WebPackageDirectory)NDP46-KB3045560-Web.exe" DownloadUrl="$(var.NetFx46WebLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="CAA5F4D4DB0C9DF34252FCB74CF7762214F69D2419865EBC1E6717E6B1348E59A7599A8DECAAB5CEE6974E59D1AE5A749F8C4EC07C8E4C80C90E77B996B3B205" ProductName="Microsoft .NET Framework 4.6" Size="1497400" Version="4.6.81.0" />
37 </ExePackage>
38 </PackageGroup>
@@ -54,7 +54,7 @@
54 <WixVariable Id="NetFx46RedistPackageDirectory" Value="redist\" Overridable="yes" />
55
56 <PackageGroup Id="$(var.NetFx46RedistId)">
57 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46RedistDetectCondition)" InstallCondition="!(wix.NetFx46RedistInstallCondition)" Id="$(var.NetFx46RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="no">
57 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46RedistDetectCondition)" InstallCondition="!(wix.NetFx46RedistInstallCondition)" Id="$(var.NetFx46RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="remove">
58 <ExePackagePayload Name="!(wix.NetFx46RedistPackageDirectory)NDP46-KB3045557-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx46RedistLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="C6FC54F648F822515ADACB4C27E0A6DBD6A3EAF2BA3F069C0002750894ECC453EBED8BC8D4FF2AFD73C7B3445C1DA18D43FE361EA5195AE8522249DF36B84B7E" ProductName="Microsoft .NET Framework 4.6" Size="65444688" Version="4.6.81.0" />
59 </ExePackage>
60 </PackageGroup>
src/ext/NetFx/wixlib/NetFx461.wxs
+2 -2
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx461WebPackageDirectory" Value="redist\" Overridable="yes" />
32
33 <PackageGroup Id="$(var.NetFx461WebId)">
34 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461WebDetectCondition)" InstallCondition="!(wix.NetFx461WebInstallCondition)" Id="$(var.NetFx461WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="no">
34 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461WebDetectCondition)" InstallCondition="!(wix.NetFx461WebInstallCondition)" Id="$(var.NetFx461WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="remove">
35 <ExePackagePayload Name="!(wix.NetFx461WebPackageDirectory)NDP461-KB3102438-Web.exe" DownloadUrl="$(var.NetFx461WebLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="97C4DD638E2E0324D60BDD1D7BE85603EDBF969898469A524FB271EBA5E22B78CA67DB1F568F5C45393381F1E76408C366AD4A68A7BB00E23D1FB820E67DE99E" ProductName="Microsoft .NET Framework 4.6.1" Size="1424328" Version="4.6.1055.0" />
36 </ExePackage>
37 </PackageGroup>
@@ -53,7 +53,7 @@
53 <WixVariable Id="NetFx461RedistPackageDirectory" Value="redist\" Overridable="yes" />
54
55 <PackageGroup Id="$(var.NetFx461RedistId)">
56 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461RedistDetectCondition)" InstallCondition="!(wix.NetFx461RedistInstallCondition)" Id="$(var.NetFx461RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="no">
56 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461RedistDetectCondition)" InstallCondition="!(wix.NetFx461RedistInstallCondition)" Id="$(var.NetFx461RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="remove">
57 <ExePackagePayload Name="!(wix.NetFx461RedistPackageDirectory)NDP461-KB3102436-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx461RedistLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="43BEF5EB278CF0954EAE1A6FEEC5A9852B932270508DD10647B9EA32DFD3832ECB58172B28707216709705BF0013FCEBB0B39DB31E38786FC2DAE219622EA00F" ProductName="Microsoft .NET Framework 4.6.1" Size="67681000" Version="4.6.1055.0" />
58 </ExePackage>
59 </PackageGroup>
src/ext/NetFx/wixlib/NetFx462.wxs
+1 -1
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx462WebPackageDirectory" Value="redist\" Overridable="yes" />
32
33 <PackageGroup Id="$(var.NetFx462WebId)">
34 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx462FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx462WebDetectCondition)" InstallCondition="!(wix.NetFx462WebInstallCondition)" Id="$(var.NetFx462WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx462FullLog" Cache="no">
34 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx462FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx462WebDetectCondition)" InstallCondition="!(wix.NetFx462WebInstallCondition)" Id="$(var.NetFx462WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx462FullLog" Cache="remove">
35 <ExePackagePayload Name="!(wix.NetFx462WebPackageDirectory)NDP462-KB3151802-Web.exe" DownloadUrl="$(var.NetFx462WebLink)" Description="Microsoft .NET Framework 4.6.2 Setup" Hash="72CC8904EA9AC4248874FD888E2C63737DFFF920E4002EB1426318EFD2650D1D5055DFC80C1F398278F7246A3827FC0ED3C044471C67A40CDE66D3796F854DCE" ProductName="Microsoft .NET Framework 4.6.2" Size="1408232" Version="4.6.1590.0" />
36 </ExePackage>
37 </PackageGroup>
src/ext/NetFx/wixlib/NetFx472.wxs
+2 -2
@@ -29,7 +29,7 @@
29 <WixVariable Id="NetFx472WebPackageDirectory" Value="redist\" Overridable="yes" />
30
31 <PackageGroup Id="$(var.NetFx472WebId)">
32 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472WebDetectCondition)" InstallCondition="!(wix.NetFx472WebInstallCondition)" Id="$(var.NetFx472WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472WebLog" Cache="no">
32 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472WebDetectCondition)" InstallCondition="!(wix.NetFx472WebInstallCondition)" Id="$(var.NetFx472WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472WebLog" Cache="remove">
33 <ExePackagePayload Name="!(wix.NetFx472WebPackageDirectory)NDP472-KB4054531-Web.exe" DownloadUrl="$(var.NetFx472WebLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="213CDEE35D320FE126CB64FE59963DB355062A14592E0B2FC4D45C2EDEF5F6A91305D0674D27152869202E3440090DFC207A0C5EB14D812F61E437907A81887E" ProductName="Microsoft .NET Framework 4.7.2" Size="1399888" Version="4.7.3081.0" />
34 </ExePackage>
35 </PackageGroup>
@@ -51,7 +51,7 @@
51 <WixVariable Id="NetFx472RedistPackageDirectory" Value="redist\" Overridable="yes" />
52
53 <PackageGroup Id="$(var.NetFx472RedistId)">
54 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472RedistDetectCondition)" InstallCondition="!(wix.NetFx472RedistInstallCondition)" Id="$(var.NetFx472RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472RedistLog" Cache="no">
54 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472RedistDetectCondition)" InstallCondition="!(wix.NetFx472RedistInstallCondition)" Id="$(var.NetFx472RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472RedistLog" Cache="remove">
55 <ExePackagePayload Name="!(wix.NetFx472RedistPackageDirectory)NDP472-KB4054530-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx472RedistLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="F4EA32D8189DD269FF02D68B39D7DE866AE5F46EEA5A71BF8F4715FB0E4F8B7AC64B274DFA7BFF69B52C719E65256906C8D92FDD355F52C977175AE3E1919098" ProductName="Microsoft .NET Framework 4.7.2" Size="83940592" Version="4.7.3081.0" />
56 </ExePackage>
57 </PackageGroup>
src/ext/NetFx/wixlib/NetFx48.wxs
+2 -2
@@ -29,7 +29,7 @@
29 <WixVariable Id="NetFx48WebPackageDirectory" Value="redist\" Overridable="yes" />
30
31 <PackageGroup Id="$(var.NetFx48WebId)">
32 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48WebDetectCondition)" InstallCondition="!(wix.NetFx48WebInstallCondition)" Id="$(var.NetFx48WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48WebLog" Cache="no">
32 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48WebDetectCondition)" InstallCondition="!(wix.NetFx48WebInstallCondition)" Id="$(var.NetFx48WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48WebLog" Cache="remove">
33 <ExePackagePayload Name="!(wix.NetFx48WebPackageDirectory)ndp48-web.exe" DownloadUrl="$(var.NetFx48WebLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="642721C60D52051C7F3434D8710FE3406A7CFE10B2B39E90EA847719ED1697D7C614F2DF44AD50412B1DF8C98DD78FDC57CA1D047D28C81AC158092E5FB18040" ProductName="Microsoft .NET Framework 4.8" Size="1439328" Version="4.8.4115.0" />
34 </ExePackage>
35 </PackageGroup>
@@ -51,7 +51,7 @@
51 <WixVariable Id="NetFx48RedistPackageDirectory" Value="redist\" Overridable="yes" />
52
53 <PackageGroup Id="$(var.NetFx48RedistId)">
54 - <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48RedistDetectCondition)" InstallCondition="!(wix.NetFx48RedistInstallCondition)" Id="$(var.NetFx48RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48RedistLog" Cache="no">
54 + <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48RedistDetectCondition)" InstallCondition="!(wix.NetFx48RedistInstallCondition)" Id="$(var.NetFx48RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48RedistLog" Cache="remove">
55 <ExePackagePayload Name="!(wix.NetFx48RedistPackageDirectory)ndp48-x86-x64-allos-enu.exe" DownloadUrl="$(var.NetFx48RedistLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="DE7FD1B245BAAAC3A2BA1C2C650492AB71EB689902E281DDA02B069A441BAF9B1CF067D596C2E67C27EB58C341F572D8E7D481EC5D6E3A4CFB8D0C9AA7B55181" ProductName="Microsoft .NET Framework 4.8" Size="121319368" Version="4.8.4115.0" />
56 </ExePackage>
57 </PackageGroup>
src/test/burn/TestData/DependencyTests/BundleAv1/BundleAv1.wxs
+1 -1
@@ -8,7 +8,7 @@
8
9 <PackageGroup Id="BundlePackages">
10 <MsiPackage Id="PackageA" SourceFile="$(var.PackageAv1.TargetPath)" />
11 - <ExePackage Id="ExeA" Cache="no" PerMachine="yes"
11 + <ExePackage Id="ExeA" Cache="remove" PerMachine="yes"
12 DetectCondition="ExeA_Version AND ExeA_Version &gt;= v$(var.Version)"
13 InstallArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
14 RepairArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
src/test/burn/TestData/DependencyTests/BundleAv1_0_1/BundleAv1_0_1.wxs
+1 -1
@@ -8,7 +8,7 @@
8
9 <PackageGroup Id="BundlePackages">
10 <MsiPackage Id="PackageA" Name="PackageAv1.msi" SourceFile="$(var.PackageAv1_0_1.TargetPath)" />
11 - <ExePackage Id="ExeA" Cache="no" PerMachine="yes"
11 + <ExePackage Id="ExeA" Cache="remove" PerMachine="yes"
12 DetectCondition="ExeA_Version AND ExeA_Version &gt;= v$(var.Version)"
13 InstallArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
14 RepairArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
src/test/burn/TestData/DependencyTests/BundleB/BundleB.wxs
+1 -1
@@ -9,7 +9,7 @@
9 <PackageGroup Id="BundlePackages">
10 <MsiPackage Id="PackageA" SourceFile="$(var.PackageAv1.TargetPath)" />
11 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" />
12 - <ExePackage Id="ExeA" Cache="no" PerMachine="yes"
12 + <ExePackage Id="ExeA" Cache="remove" PerMachine="yes"
13 DetectCondition="ExeA_Version AND ExeA_Version &gt;= v$(var.Version)"
14 InstallArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
15 RepairArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
src/test/burn/TestData/DependencyTests/BundleD/BundleD.wxs
+1 -1
@@ -4,7 +4,7 @@
4 <Fragment>
5 <PackageGroup Id="BundlePackages">
6 <MsiPackage Id="PackageA" SourceFile="$(var.PackageAv1.TargetPath)" />
7 - <ExePackage Id="TestExe" Cache="no" PerMachine="yes" Permanent="yes" InstallArguments="/ec 1603">
7 + <ExePackage Id="TestExe" Cache="remove" PerMachine="yes" Permanent="yes" InstallArguments="/ec 1603">
8 <PayloadGroupRef Id="TestExePayloads" />
9 </ExePackage>
10 </PackageGroup>
src/test/burn/TestData/DependencyTests/BundleE/BundleE.wxs
+1 -1
@@ -9,7 +9,7 @@
9 <PackageGroup Id="BundlePackages">
10 <MsiPackage Id="PackageA" SourceFile="$(var.PackageAv1.TargetPath)" />
11 <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" Vital="no" />
12 - <ExePackage Id="ExeA" Cache="no" Vital="no" PerMachine="yes" InstallArguments="/ec 1603"
12 + <ExePackage Id="ExeA" Cache="remove" Vital="no" PerMachine="yes" InstallArguments="/ec 1603"
13 DetectCondition="ExeA_Version AND ExeA_Version &gt;= v$(var.Version)">
14 <Provides Key="$(var.TestGroupName)_ExeA,v1.0" Version="$(var.Version)" />
15 <PayloadGroupRef Id="TestExePayloads" />
src/test/burn/TestData/DependencyTests/BundleF_AddOnA/BundleF_AddOn.wxs
+1 -1
@@ -9,7 +9,7 @@
9
10 <PackageGroup Id="BundlePackages">
11 <MsiPackage Id="PackageA" SourceFile="$(var.PackageAv1.TargetPath)" />
12 - <ExePackage Id="ExeA" Cache="no" PerMachine="yes"
12 + <ExePackage Id="ExeA" Cache="remove" PerMachine="yes"
13 DetectCondition="ExeA_Version AND ExeA_Version &gt;= v$(var.Version)"
14 InstallArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
15 RepairArguments="/regw &quot;HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)&quot;"
src/test/burn/TestData/PrereqBaTests/BundleA/BundleA.wxs
+1 -1
@@ -16,7 +16,7 @@
16 <Fragment>
17 <PackageGroup Id="BundlePackages">
18 <MsiPackage Id="PackageA" SourceFile="$(var.PackageA.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" />
19 - <MsiPackage Id="PackageF" SourceFile="$(var.PackageF.TargetPath)" Cache="always" />
19 + <MsiPackage Id="PackageF" SourceFile="$(var.PackageF.TargetPath)" Cache="force" />
20 </PackageGroup>
21 </Fragment>
22 </Wix>
src/wix/WixToolset.Converters/WixConverter.cs
+43 -1
@@ -224,7 +224,7 @@ namespace WixToolset.Converters
224 { WixConverter.ModuleElementName, this.ConvertModuleElement },
225 { WixConverter.MsiPackageElementName, this.ConvertWindowsInstallerPackageElement },
226 { WixConverter.MspPackageElementName, this.ConvertWindowsInstallerPackageElement },
227 - { WixConverter.MsuPackageElementName, this.ConvertSuppressSignatureValidation },
227 + { WixConverter.MsuPackageElementName, this.ConvertMsuPackageElement },
228 { WixConverter.OldProvidesElementName, this.ConvertProvidesElement },
229 { WixConverter.OldRequiresElementName, this.ConvertRequiresElement },
230 { WixConverter.OldRequiresRefElementName, this.ConvertRequiresRefElement },
@@ -1114,6 +1114,8 @@ namespace WixToolset.Converters
1114 {
1115 this.ConvertSuppressSignatureValidation(element);
1116
1117 + this.UpdatePackageCacheAttribute(element);
1118 +
1119 foreach (var attributeName in new[] { "InstallCommand", "RepairCommand", "UninstallCommand" })
1120 {
1121 var newName = attributeName.Replace("Command", "Arguments");
@@ -1180,6 +1182,13 @@ namespace WixToolset.Converters
1182 }
1183 }
1184
1185 + private void ConvertMsuPackageElement(XElement element)
1186 + {
1187 + this.ConvertSuppressSignatureValidation(element);
1188 +
1189 + this.UpdatePackageCacheAttribute(element);
1190 + }
1191 +
1192 private void ConvertProductElement(XElement element)
1193 {
1194 var id = element.Attribute("Id");
@@ -1589,6 +1598,8 @@ namespace WixToolset.Converters
1598 {
1599 this.ConvertSuppressSignatureValidation(element);
1600
1601 + this.UpdatePackageCacheAttribute(element);
1602 +
1603 if (null != element.Attribute("DisplayInternalUI"))
1604 {
1605 this.OnError(ConverterTestType.DisplayInternalUiNotConvertable, element, "The DisplayInternalUI functionality has fundamentally changed and requires BootstrapperApplication support.");
@@ -1792,6 +1803,32 @@ namespace WixToolset.Converters
1803 }
1804 }
1805
1806 + private void UpdatePackageCacheAttribute(XElement element)
1807 + {
1808 + var cacheAttribute = element.Attribute("Cache");
1809 + var cacheValue = cacheAttribute?.Value;
1810 + string replacement = null;
1811 +
1812 + switch (cacheValue)
1813 + {
1814 + case "yes":
1815 + replacement = "keep";
1816 + break;
1817 + case "no":
1818 + replacement = "remove";
1819 + break;
1820 + case "always":
1821 + replacement = "force";
1822 + break;
1823 + }
1824 +
1825 + if (!String.IsNullOrEmpty(replacement) &&
1826 + this.OnError(ConverterTestType.BundlePackageCacheAttributeValueObsolete, element, "The chain package element 'Cache' attribute contains obsolete '{0}' value. The value should be '{1}' instead.", cacheValue, replacement))
1827 + {
1828 + cacheAttribute.SetValue(replacement);
1829 + }
1830 + }
1831 +
1832 private string UpdateWin64ValueToBitnessValue(XAttribute xWin64Attribute)
1833 {
1834 var value = xWin64Attribute.Value ?? String.Empty;
@@ -2430,6 +2467,11 @@ namespace WixToolset.Converters
2467 /// Naked custom action and property references replaced with WixUtilExtension elements.
2468 /// </summary>
2469 UtilReferencesReplaced,
2470 +
2471 + /// <summary>
2472 + /// Cache attribute value updated.
2473 + /// </summary>
2474 + BundlePackageCacheAttributeValueObsolete,
2475 }
2476 }
2477 }
src/wix/WixToolset.Core.Burn/Bundles/CreateBootstrapperApplicationManifestCommand.cs
+3 -3
@@ -166,13 +166,13 @@ namespace WixToolset.Core.Burn.Bundles
166
167 switch (package.PackageSymbol.Cache)
168 {
169 - case YesNoAlwaysType.No:
169 + case BundleCacheType.Remove:
170 writer.WriteAttributeString("Cache", "remove");
171 break;
172 - case YesNoAlwaysType.Yes:
172 + case BundleCacheType.Keep:
173 writer.WriteAttributeString("Cache", "keep");
174 break;
175 - case YesNoAlwaysType.Always:
175 + case BundleCacheType.Force:
176 writer.WriteAttributeString("Cache", "force");
177 break;
178 }
src/wix/WixToolset.Core.Burn/Bundles/CreateBurnManifestCommand.cs
+3 -3
@@ -331,13 +331,13 @@ namespace WixToolset.Core.Burn.Bundles
331
332 switch (package.PackageSymbol.Cache)
333 {
334 - case YesNoAlwaysType.No:
334 + case BundleCacheType.Remove:
335 writer.WriteAttributeString("Cache", "remove");
336 break;
337 - case YesNoAlwaysType.Yes:
337 + case BundleCacheType.Keep:
338 writer.WriteAttributeString("Cache", "keep");
339 break;
340 - case YesNoAlwaysType.Always:
340 + case BundleCacheType.Force:
341 writer.WriteAttributeString("Cache", "force");
342 break;
343 }
src/wix/WixToolset.Core/Compiler_Bundle.cs
+9 -13
@@ -1967,7 +1967,7 @@ namespace WixToolset.Core
1967 };
1968 string after = null;
1969 string installCondition = null;
1970 - var cache = YesNoAlwaysType.Yes; // the default is to cache everything in tradeoff for stability over disk space.
1970 + var cache = BundleCacheType.Keep; // the default is to cache everything in tradeoff for stability over disk space.
1971 string cacheId = null;
1972 string description = null;
1973 string displayName = null;
@@ -2028,19 +2028,19 @@ namespace WixToolset.Core
2028 var value = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2029 switch (value)
2030 {
2031 - case "always":
2032 - cache = YesNoAlwaysType.Always;
2031 + case "force":
2032 + cache = BundleCacheType.Force;
2033 break;
2034 - case "yes":
2035 - cache = YesNoAlwaysType.Yes;
2034 + case "keep":
2035 + cache = BundleCacheType.Keep;
2036 break;
2037 - case "no":
2038 - cache = YesNoAlwaysType.No;
2037 + case "remove":
2038 + cache = BundleCacheType.Remove;
2039 break;
2040 case "":
2041 break;
2042 default:
2043 - this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "always", "yes", "no"));
2043 + this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, value, "force", "keep", "remove"));
2044 break;
2045 }
2046 break;
@@ -2316,6 +2316,7 @@ namespace WixToolset.Core
2316 Type = packageType,
2317 Attributes = attributes,
2318 InstallCondition = installCondition,
2319 + Cache = cache,
2320 CacheId = cacheId,
2321 Description = description,
2322 DisplayName = displayName,
@@ -2323,11 +2324,6 @@ namespace WixToolset.Core
2324 RollbackLogPathVariable = rollbackPathVariable,
2325 });
2326
2326 - if (YesNoAlwaysType.NotSet != cache)
2327 - {
2328 - chainPackageSymbol.Cache = cache;
2329 - }
2330 -
2327 if (YesNoType.NotSet != vital)
2328 {
2329 chainPackageSymbol.Vital = (vital == YesNoType.Yes);
src/wix/heat/Serialize/wix.cs
+54 -58
@@ -253,46 +253,45 @@ namespace WixToolset.Harvesters.Serialize
253 }
254 return true;
255 }
256 -
256 +
257 /// <summary>
258 - /// Parses a YesNoAlwaysType from a string.
258 + /// Parses a BundleCacheType from a string.
259 /// </summary>
260 - public static YesNoAlwaysType ParseYesNoAlwaysType(string value)
260 + public static BundleCacheType ParseBundleCacheType(string value)
261 {
262 - YesNoAlwaysType parsedValue;
263 - Enums.TryParseYesNoAlwaysType(value, out parsedValue);
262 + Enums.TryBundleCacheType(value, out var parsedValue);
263 return parsedValue;
264 }
265
266 /// <summary>
267 /// Tries to parse a YesNoAlwaysType from a string.
268 /// </summary>
270 - public static bool TryParseYesNoAlwaysType(string value, out YesNoAlwaysType parsedValue)
269 + public static bool TryBundleCacheType(string value, out BundleCacheType parsedValue)
270 {
272 - parsedValue = YesNoAlwaysType.NotSet;
271 + parsedValue = BundleCacheType.NotSet;
272 if (string.IsNullOrEmpty(value))
273 {
274 return false;
275 }
277 - if (("always" == value))
276 +
277 + if (("force" == value))
278 {
279 - parsedValue = YesNoAlwaysType.always;
279 + parsedValue = BundleCacheType.force;
280 }
281 else
282 {
283 - if (("no" == value))
283 + if (("remove" == value))
284 {
285 - parsedValue = YesNoAlwaysType.no;
285 + parsedValue = BundleCacheType.remove;
286 }
287 else
288 {
289 - if (("yes" == value))
289 + if (("keep" == value))
290 {
291 - parsedValue = YesNoAlwaysType.yes;
291 + parsedValue = BundleCacheType.keep;
292 }
293 else
294 {
295 - parsedValue = YesNoAlwaysType.IllegalValue;
295 return false;
296 }
297 }
@@ -656,18 +655,15 @@ namespace WixToolset.Harvesters.Serialize
655 /// Values of this type will either be "always", "yes", or "no".
656 /// </summary>
657 [GeneratedCode("WixBuildTools.XsdGen", "4.0.0.0")]
659 - public enum YesNoAlwaysType
658 + public enum BundleCacheType
659 {
661 -
662 - IllegalValue = int.MaxValue,
663 -
660 NotSet = -1,
661
666 - always,
662 + force,
663
668 - no,
664 + remove,
665
670 - yes,
666 + keep,
667 }
668
669 /// <summary>
@@ -3732,7 +3728,7 @@ namespace WixToolset.Harvesters.Serialize
3728
3729 private bool installConditionFieldSet;
3730
3735 - private YesNoAlwaysType cacheField;
3731 + private BundleCacheType cacheField;
3732
3733 private bool cacheFieldSet;
3734
@@ -3939,7 +3935,7 @@ namespace WixToolset.Harvesters.Serialize
3935 /// <summary>
3936 /// Whether to cache the package. The default is "yes".
3937 /// </summary>
3942 - public YesNoAlwaysType Cache
3938 + public BundleCacheType Cache
3939 {
3940 get
3941 {
@@ -4285,17 +4281,17 @@ namespace WixToolset.Harvesters.Serialize
4281 }
4282 if (this.cacheFieldSet)
4283 {
4288 - if ((this.cacheField == YesNoAlwaysType.always))
4284 + if ((this.cacheField == BundleCacheType.force))
4285 {
4290 - writer.WriteAttributeString("Cache", "always");
4286 + writer.WriteAttributeString("Cache", "force");
4287 }
4292 - if ((this.cacheField == YesNoAlwaysType.no))
4288 + if ((this.cacheField == BundleCacheType.remove))
4289 {
4294 - writer.WriteAttributeString("Cache", "no");
4290 + writer.WriteAttributeString("Cache", "remove");
4291 }
4296 - if ((this.cacheField == YesNoAlwaysType.yes))
4292 + if ((this.cacheField == BundleCacheType.keep))
4293 {
4298 - writer.WriteAttributeString("Cache", "yes");
4294 + writer.WriteAttributeString("Cache", "keep");
4295 }
4296 }
4297 if (this.cacheIdFieldSet)
@@ -4463,7 +4459,7 @@ namespace WixToolset.Harvesters.Serialize
4459 }
4460 if (("Cache" == name))
4461 {
4466 - this.cacheField = Enums.ParseYesNoAlwaysType(value);
4462 + this.cacheField = Enums.ParseBundleCacheType(value);
4463 this.cacheFieldSet = true;
4464 }
4465 if (("CacheId" == name))
@@ -4571,7 +4567,7 @@ namespace WixToolset.Harvesters.Serialize
4567
4568 private bool installConditionFieldSet;
4569
4574 - private YesNoAlwaysType cacheField;
4570 + private BundleCacheType cacheField;
4571
4572 private bool cacheFieldSet;
4573
@@ -4767,9 +4763,9 @@ namespace WixToolset.Harvesters.Serialize
4763 }
4764
4765 /// <summary>
4770 - /// Whether to cache the package. The default is "yes".
4766 + /// Whether to cache the package. The default is "keep".
4767 /// </summary>
4772 - public YesNoAlwaysType Cache
4768 + public BundleCacheType Cache
4769 {
4770 get
4771 {
@@ -5073,17 +5069,17 @@ namespace WixToolset.Harvesters.Serialize
5069 }
5070 if (this.cacheFieldSet)
5071 {
5076 - if ((this.cacheField == YesNoAlwaysType.always))
5072 + if ((this.cacheField == BundleCacheType.force))
5073 {
5078 - writer.WriteAttributeString("Cache", "always");
5074 + writer.WriteAttributeString("Cache", "force");
5075 }
5080 - if ((this.cacheField == YesNoAlwaysType.no))
5076 + if ((this.cacheField == BundleCacheType.remove))
5077 {
5082 - writer.WriteAttributeString("Cache", "no");
5078 + writer.WriteAttributeString("Cache", "remove");
5079 }
5084 - if ((this.cacheField == YesNoAlwaysType.yes))
5080 + if ((this.cacheField == BundleCacheType.keep))
5081 {
5086 - writer.WriteAttributeString("Cache", "yes");
5082 + writer.WriteAttributeString("Cache", "keep");
5083 }
5084 }
5085 if (this.cacheIdFieldSet)
@@ -5233,7 +5229,7 @@ namespace WixToolset.Harvesters.Serialize
5229 }
5230 if (("Cache" == name))
5231 {
5236 - this.cacheField = Enums.ParseYesNoAlwaysType(value);
5232 + this.cacheField = Enums.ParseBundleCacheType(value);
5233 this.cacheFieldSet = true;
5234 }
5235 if (("CacheId" == name))
@@ -5331,7 +5327,7 @@ namespace WixToolset.Harvesters.Serialize
5327
5328 private bool installConditionFieldSet;
5329
5334 - private YesNoAlwaysType cacheField;
5330 + private BundleCacheType cacheField;
5331
5332 private bool cacheFieldSet;
5333
@@ -5529,7 +5525,7 @@ namespace WixToolset.Harvesters.Serialize
5525 /// <summary>
5526 /// Whether to cache the package. The default is "yes".
5527 /// </summary>
5532 - public YesNoAlwaysType Cache
5528 + public BundleCacheType Cache
5529 {
5530 get
5531 {
@@ -5838,17 +5834,17 @@ namespace WixToolset.Harvesters.Serialize
5834 }
5835 if (this.cacheFieldSet)
5836 {
5841 - if ((this.cacheField == YesNoAlwaysType.always))
5837 + if ((this.cacheField == BundleCacheType.force))
5838 {
5843 - writer.WriteAttributeString("Cache", "always");
5839 + writer.WriteAttributeString("Cache", "force");
5840 }
5845 - if ((this.cacheField == YesNoAlwaysType.no))
5841 + if ((this.cacheField == BundleCacheType.remove))
5842 {
5847 - writer.WriteAttributeString("Cache", "no");
5843 + writer.WriteAttributeString("Cache", "remove");
5844 }
5849 - if ((this.cacheField == YesNoAlwaysType.yes))
5845 + if ((this.cacheField == BundleCacheType.keep))
5846 {
5851 - writer.WriteAttributeString("Cache", "yes");
5847 + writer.WriteAttributeString("Cache", "keep");
5848 }
5849 }
5850 if (this.cacheIdFieldSet)
@@ -5980,7 +5976,7 @@ namespace WixToolset.Harvesters.Serialize
5976 }
5977 if (("Cache" == name))
5978 {
5983 - this.cacheField = Enums.ParseYesNoAlwaysType(value);
5979 + this.cacheField = Enums.ParseBundleCacheType(value);
5980 this.cacheFieldSet = true;
5981 }
5982 if (("CacheId" == name))
@@ -6078,7 +6074,7 @@ namespace WixToolset.Harvesters.Serialize
6074
6075 private bool installConditionFieldSet;
6076
6081 - private YesNoAlwaysType cacheField;
6077 + private BundleCacheType cacheField;
6078
6079 private bool cacheFieldSet;
6080
@@ -6294,7 +6290,7 @@ namespace WixToolset.Harvesters.Serialize
6290 /// <summary>
6291 /// Whether to cache the package. The default is "yes".
6292 /// </summary>
6297 - public YesNoAlwaysType Cache
6293 + public BundleCacheType Cache
6294 {
6295 get
6296 {
@@ -6675,17 +6671,17 @@ namespace WixToolset.Harvesters.Serialize
6671 }
6672 if (this.cacheFieldSet)
6673 {
6678 - if ((this.cacheField == YesNoAlwaysType.always))
6674 + if ((this.cacheField == BundleCacheType.force))
6675 {
6680 - writer.WriteAttributeString("Cache", "always");
6676 + writer.WriteAttributeString("Cache", "force");
6677 }
6682 - if ((this.cacheField == YesNoAlwaysType.no))
6678 + if ((this.cacheField == BundleCacheType.remove))
6679 {
6684 - writer.WriteAttributeString("Cache", "no");
6680 + writer.WriteAttributeString("Cache", "remove");
6681 }
6686 - if ((this.cacheField == YesNoAlwaysType.yes))
6682 + if ((this.cacheField == BundleCacheType.keep))
6683 {
6688 - writer.WriteAttributeString("Cache", "yes");
6684 + writer.WriteAttributeString("Cache", "keep");
6685 }
6686 }
6687 if (this.cacheIdFieldSet)
@@ -6855,7 +6851,7 @@ namespace WixToolset.Harvesters.Serialize
6851 }
6852 if (("Cache" == name))
6853 {
6858 - this.cacheField = Enums.ParseYesNoAlwaysType(value);
6854 + this.cacheField = Enums.ParseBundleCacheType(value);
6855 this.cacheFieldSet = true;
6856 }
6857 if (("CacheId" == name))
src/wix/test/WixToolsetTest.Converters/BundleCacheFixture.cs new
+154
@@ -0,0 +1,154 @@
1 +// 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.
2 +
3 +namespace WixToolsetTest.Converters
4 +{
5 + using System;
6 + using System.Xml.Linq;
7 + using WixBuildTools.TestSupport;
8 + using WixToolset.Converters;
9 + using WixToolsetTest.Converters.Mocks;
10 + using Xunit;
11 +
12 + public class BundleCacheFixture : BaseConverterFixture
13 + {
14 + [Fact]
15 + public void CanConvertExeAlwaysCache()
16 + {
17 + var parse = String.Join(Environment.NewLine,
18 + "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
19 + " <Fragment>",
20 + " <PackageGroup Id='exe'>",
21 + " <ExePackage InstallCommand='-install' RepairCommand='-repair' UninstallCommand='-uninstall' Cache='always' SourceFile='test.exe' />",
22 + " </PackageGroup>",
23 + " </Fragment>",
24 + "</Wix>");
25 +
26 + var expected = new[]
27 + {
28 + "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
29 + " <Fragment>",
30 + " <PackageGroup Id=\"exe\">",
31 + " <ExePackage Cache=\"force\" SourceFile=\"test.exe\" InstallArguments=\"-install\" RepairArguments=\"-repair\" UninstallArguments=\"-uninstall\" />",
32 + " </PackageGroup>",
33 + " </Fragment>",
34 + "</Wix>"
35 + };
36 +
37 + var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
38 +
39 + var messaging = new MockMessaging();
40 + var converter = new WixConverter(messaging, 2, null, null);
41 +
42 + var errors = converter.ConvertDocument(document);
43 + Assert.Equal(4, errors);
44 +
45 + var actualLines = UnformattedDocumentLines(document);
46 + WixAssert.CompareLineByLine(expected, actualLines);
47 + }
48 +
49 + [Fact]
50 + public void CanConvertMsiNoCache()
51 + {
52 + var parse = String.Join(Environment.NewLine,
53 + "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
54 + " <Fragment>",
55 + " <PackageGroup Id='msi'>",
56 + " <MsiPackage Cache='no' SourceFile='test.msi' />",
57 + " </PackageGroup>",
58 + " </Fragment>",
59 + "</Wix>");
60 +
61 + var expected = new[]
62 + {
63 + "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
64 + " <Fragment>",
65 + " <PackageGroup Id=\"msi\">",
66 + " <MsiPackage Cache=\"remove\" SourceFile=\"test.msi\" />",
67 + " </PackageGroup>",
68 + " </Fragment>",
69 + "</Wix>"
70 + };
71 +
72 + var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
73 +
74 + var messaging = new MockMessaging();
75 + var converter = new WixConverter(messaging, 2, null, null);
76 +
77 + var errors = converter.ConvertDocument(document);
78 + Assert.Equal(1, errors);
79 +
80 + var actualLines = UnformattedDocumentLines(document);
81 + WixAssert.CompareLineByLine(expected, actualLines);
82 + }
83 +
84 + [Fact]
85 + public void CanConvertMspYesCache()
86 + {
87 + var parse = String.Join(Environment.NewLine,
88 + "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
89 + " <Fragment>",
90 + " <PackageGroup Id='exe'>",
91 + " <MspPackage Cache='yes' SourceFile='test.msp' />",
92 + " </PackageGroup>",
93 + " </Fragment>",
94 + "</Wix>");
95 +
96 + var expected = new[]
97 + {
98 + "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
99 + " <Fragment>",
100 + " <PackageGroup Id=\"exe\">",
101 + " <MspPackage Cache=\"keep\" SourceFile=\"test.msp\" />",
102 + " </PackageGroup>",
103 + " </Fragment>",
104 + "</Wix>"
105 + };
106 +
107 + var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
108 +
109 + var messaging = new MockMessaging();
110 + var converter = new WixConverter(messaging, 2, null, null);
111 +
112 + var errors = converter.ConvertDocument(document);
113 + Assert.Equal(1, errors);
114 +
115 + var actualLines = UnformattedDocumentLines(document);
116 + WixAssert.CompareLineByLine(expected, actualLines);
117 + }
118 +
119 + [Fact]
120 + public void CanConvertMsuYesCache()
121 + {
122 + var parse = String.Join(Environment.NewLine,
123 + "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
124 + " <Fragment>",
125 + " <PackageGroup Id='exe'>",
126 + " <MsuPackage Cache='yes' SourceFile='test.msp' />",
127 + " </PackageGroup>",
128 + " </Fragment>",
129 + "</Wix>");
130 +
131 + var expected = new[]
132 + {
133 + "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
134 + " <Fragment>",
135 + " <PackageGroup Id=\"exe\">",
136 + " <MsuPackage Cache=\"keep\" SourceFile=\"test.msp\" />",
137 + " </PackageGroup>",
138 + " </Fragment>",
139 + "</Wix>"
140 + };
141 +
142 + var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
143 +
144 + var messaging = new MockMessaging();
145 + var converter = new WixConverter(messaging, 2, null, null);
146 +
147 + var errors = converter.ConvertDocument(document);
148 + Assert.Equal(1, errors);
149 +
150 + var actualLines = UnformattedDocumentLines(document);
151 + WixAssert.CompareLineByLine(expected, actualLines);
152 + }
153 + }
154 +}