aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.en-us.wxl11
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs21
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/PackageComponents.wxs14
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test.txt1
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test2.txt1
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs57
6 files changed, 105 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.en-us.wxl b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.en-us.wxl
new file mode 100644
index 00000000..38c12ac1
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.en-us.wxl
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4This file contains the declaration of all the localizable strings.
5-->
6<WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US">
7
8 <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String>
9 <String Id="FeatureTitle">MsiPackage</String>
10
11</WixLocalization>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs
new file mode 100644
index 00000000..e1cf7394
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/Package.wxs
@@ -0,0 +1,21 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine">
3
4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
6
7 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
8 <ComponentGroupRef Id="ProductComponents" />
9 </Feature>
10
11 <WixVariable Id="TestFile" Value="test2.txt" />
12 </Package>
13
14 <Fragment>
15 <Directory Id="TARGETDIR" Name="SourceDir">
16 <Directory Id="ProgramFilesFolder">
17 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
18 </Directory>
19 </Directory>
20 </Fragment>
21</Wix>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/PackageComponents.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/PackageComponents.wxs
new file mode 100644
index 00000000..df867923
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/PackageComponents.wxs
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment>
4 <Binary Id="Test.txt" SourceFile="!(wix.TestFile=test.txt)" />
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component>
7 <File Source="test.txt" />
8 </Component>
9 <Component Id="Shared.dll" Shared="yes">
10 <File Name="Shared.dll" Source="test.txt" />
11 </Component>
12 </ComponentGroup>
13 </Fragment>
14</Wix>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test.txt b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test.txt
new file mode 100644
index 00000000..cd0db0e1
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test.txt
@@ -0,0 +1 @@
This is test.txt. \ No newline at end of file
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test2.txt b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test2.txt
new file mode 100644
index 00000000..eab3a9b5
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/WixVariableOverride/data/test2.txt
@@ -0,0 +1 @@
This is test2.txt. \ No newline at end of file
diff --git a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
index 6ae2c0b8..52460843 100644
--- a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
@@ -144,6 +144,63 @@ namespace WixToolsetTest.CoreIntegration
144 } 144 }
145 } 145 }
146 146
147 [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6376")]
148 public void CanOverridePathWixVariable()
149 {
150 var folder = TestData.Get(@"TestData\WixVariableOverride");
151
152 using (var fs = new DisposableFileSystem())
153 {
154 var baseFolder = fs.GetFolder();
155 var intermediateFolder = Path.Combine(baseFolder, "obj");
156 var wixlibPath = Path.Combine(intermediateFolder, @"test.wixlib");
157
158 var result = WixRunner.Execute(new[]
159 {
160 "build",
161 Path.Combine(folder, "PackageComponents.wxs"),
162 "-bf",
163 "-bindpath", Path.Combine(folder, "data"),
164 "-intermediateFolder", intermediateFolder,
165 "-o", wixlibPath,
166 });
167
168 result.AssertSuccess();
169
170 var wixlib = Intermediate.Load(wixlibPath);
171
172 Assert.True(wixlib.HasLevel(IntermediateLevels.Compiled));
173 Assert.True(wixlib.HasLevel(IntermediateLevels.Combined));
174 Assert.False(wixlib.HasLevel(IntermediateLevels.Linked));
175 Assert.False(wixlib.HasLevel(IntermediateLevels.Resolved));
176
177 result = WixRunner.Execute(new[]
178 {
179 "build",
180 Path.Combine(folder, "Package.wxs"),
181 "-loc", Path.Combine(folder, "Package.en-us.wxl"),
182 "-lib", Path.Combine(intermediateFolder, @"test.wixlib"),
183 "-bindpath", Path.Combine(folder, "data"),
184 "-intermediateFolder", intermediateFolder,
185 "-o", Path.Combine(baseFolder, @"bin\test.msi")
186 });
187
188 result.AssertSuccess();
189
190 var intermediate = Intermediate.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"));
191
192 Assert.False(intermediate.HasLevel(IntermediateLevels.Compiled));
193 Assert.False(intermediate.HasLevel(IntermediateLevels.Combined));
194 Assert.True(intermediate.HasLevel(IntermediateLevels.Linked));
195 Assert.True(intermediate.HasLevel(IntermediateLevels.Resolved));
196
197 var section = intermediate.Sections.Single();
198
199 var wixFile = section.Symbols.OfType<BinarySymbol>().First();
200 Assert.Equal(Path.Combine(folder, @"data\test2.txt"), wixFile.Data.Path);
201 }
202 }
203
147 [Fact] 204 [Fact]
148 public void CanBuildWithExtensionUsingWixlib() 205 public void CanBuildWithExtensionUsingWixlib()
149 { 206 {