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 "[NetFx452FullWebLog].html"" 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 "[NetFx452FullWebLog].html"" 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 "[NetFx452FullLog].html"" 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 "[NetFx452FullLog].html"" 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 "[NetFx46FullLog].html"" 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 "[NetFx46FullLog].html"" 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 "[NetFx46FullLog].html"" 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 "[NetFx46FullLog].html"" 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 "[NetFx461FullLog].html"" 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 "[NetFx461FullLog].html"" 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 "[NetFx461FullLog].html"" 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 "[NetFx461FullLog].html"" 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 "[NetFx462FullLog].html"" 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 "[NetFx462FullLog].html"" 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 "[NetFx472WebLog].html"" 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 "[NetFx472WebLog].html"" 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 "[NetFx472RedistLog].html"" 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 "[NetFx472RedistLog].html"" 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 "[NetFx48WebLog].html"" 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 "[NetFx48WebLog].html"" 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 "[NetFx48RedistLog].html"" 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 "[NetFx48RedistLog].html"" 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 >= v$(var.Version)"
13
InstallArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
14
RepairArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
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 >= v$(var.Version)"
13
InstallArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
14
RepairArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
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 >= v$(var.Version)"
14
InstallArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
15
RepairArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
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 >= 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 >= v$(var.Version)"
14
InstallArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
15
RepairArguments="/regw "HKLM\$(var.TestExeRegistryKey),Version,String,$(var.Version)""
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
+}