aboutsummaryrefslogtreecommitdiff
path: root/src/ext/UI
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/UI')
-rw-r--r--src/ext/UI/README.md54
-rw-r--r--src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs6
-rw-r--r--src/ext/UI/ui_t.proj4
-rw-r--r--src/ext/UI/wixext/WixToolset.UI.wixext.csproj5
-rw-r--r--src/ext/UI/wixlib/WixUI_FeatureTree.wxs5
5 files changed, 71 insertions, 3 deletions
diff --git a/src/ext/UI/README.md b/src/ext/UI/README.md
index ebfefedd..5b040f13 100644
--- a/src/ext/UI/README.md
+++ b/src/ext/UI/README.md
@@ -1,2 +1,52 @@
1# UI.wixext 1# WixToolset.UI.wixext - UI WiX Toolset Extension
2WixToolset.UI.wixext - UI WiX Toolset Extension 2
3This WiX Extension provides support for standard internal MSI UI.
4
5[Web Site][web] | [Documentation][docs] | [Issue Tracker][issues] | [Discussions][discussions]
6
7
8## Open Source Maintenance Fee
9
10To ensure the long-term sustainability of this project, users of this package who generate revenue must pay an [Open Source Maintenance Fee][osmf]. While the source code is freely available under the terms of the [LICENSE][license], this package and other aspects of the project require [adherence to the Open Source Maintenance Fee EULA][eula].
11
12To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixtoolset).
13
14
15## Getting started
16
17Add the WiX Extension as a PackageReference to your .wixproj:
18
19```
20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup>
22 <PackageReference Include="WixToolset.UI.wixext" Version="7.0.0" />
23 </ItemGroup>
24</Project>
25```
26
27Then add the extension's namespace:
28
29```
30<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
31 xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
32
33 ..
34</Wix>
35```
36
37## Additional resources
38
39* [WiX Website][web]
40* [WiX Documentation][docs]
41* [WiX Issue Tracker][issues]
42* [WiX Discussions][discussions]
43
44
45[web]: https://www.firegiant.com/wixtoolset/
46[docs]: https://docs.firegiant.com/wixtoolset/
47[issues]: https://github.com/wixtoolset/issues/issues
48[discussions]: https://github.com/orgs/wixtoolset/discussions
49[sdk]: https://www.nuget.org/packages/WixToolset.Sdk/
50[osmf]: https://opensourcemaintenancefee.org/
51[license]: https://github.com/wixtoolset/wix/blob/main/LICENSE.TXT
52[eula]: https://github.com/wixtoolset/wix/blob/main/OSMFEULA.txt
diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
index e06feac7..9bc82fcf 100644
--- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
+++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
@@ -1,5 +1,9 @@
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. 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 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.UI 7namespace WixToolsetTest.UI
4{ 8{
5 using System.IO; 9 using System.IO;
@@ -109,7 +113,7 @@ namespace WixToolsetTest.UI
109 var bindFolder = TestData.Get(@"TestData", "data"); 113 var bindFolder = TestData.Get(@"TestData", "data");
110 var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); 114 var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder });
111 115
112 var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); 116 var results = build.BuildAndQuery(Build, validate: true, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence");
113 WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); 117 WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t"));
114 WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); 118 WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t"));
115 WixAssert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); 119 WixAssert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t")));
diff --git a/src/ext/UI/ui_t.proj b/src/ext/UI/ui_t.proj
index 0a989b6f..895c0323 100644
--- a/src/ext/UI/ui_t.proj
+++ b/src/ext/UI/ui_t.proj
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.UI.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.UI.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.UI\WixToolsetTest.UI.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/UI/wixext/WixToolset.UI.wixext.csproj b/src/ext/UI/wixext/WixToolset.UI.wixext.csproj
index 288b4a85..1ba64a5a 100644
--- a/src/ext/UI/wixext/WixToolset.UI.wixext.csproj
+++ b/src/ext/UI/wixext/WixToolset.UI.wixext.csproj
@@ -7,6 +7,7 @@
7 <RootNamespace>WixToolset.UI</RootNamespace> 7 <RootNamespace>WixToolset.UI</RootNamespace>
8 <Description>WiX Toolset UI Extension</Description> 8 <Description>WiX Toolset UI Extension</Description>
9 <Title>WiX Toolset UI Extension</Title> 9 <Title>WiX Toolset UI Extension</Title>
10 <PackageReadmeFile>README.md</PackageReadmeFile>
10 <DebugType>embedded</DebugType> 11 <DebugType>embedded</DebugType>
11 </PropertyGroup> 12 </PropertyGroup>
12 13
@@ -16,6 +17,10 @@
16 <EmbeddedResource Include="$(OutputPath)..\ui.wixlib" /> 17 <EmbeddedResource Include="$(OutputPath)..\ui.wixlib" />
17 </ItemGroup> 18 </ItemGroup>
18 19
20 <ItemGroup>
21 <None Include="..\README.md" Pack="true" PackagePath="\" />
22 </ItemGroup>
23
19 <ItemGroup Condition=" '$(NCrunch)'=='' "> 24 <ItemGroup Condition=" '$(NCrunch)'=='' ">
20 <ProjectReference Include="..\wixlib\ui.wixproj" ReferenceOutputAssembly="false" SkipGetTargetFrameworkProperties="true" /> 25 <ProjectReference Include="..\wixlib\ui.wixproj" ReferenceOutputAssembly="false" SkipGetTargetFrameworkProperties="true" />
21 </ItemGroup> 26 </ItemGroup>
diff --git a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs
index 5ec27445..a02ad28b 100644
--- a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs
+++ b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs
@@ -35,6 +35,8 @@ Patch dialog sequence:
35 35
36 <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> 36 <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
37 37
38 <DialogRef Id="BrowseDlg" />
39 <DialogRef Id="DiskCostDlg" />
38 <DialogRef Id="ErrorDlg" /> 40 <DialogRef Id="ErrorDlg" />
39 <DialogRef Id="FatalError" /> 41 <DialogRef Id="FatalError" />
40 <DialogRef Id="FilesInUse" /> 42 <DialogRef Id="FilesInUse" />
@@ -56,6 +58,9 @@ Patch dialog sequence:
56 <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2" Condition="NOT Installed" /> 58 <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2" Condition="NOT Installed" />
57 <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" /> 59 <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" />
58 60
61 <Publish Dialog="BrowseDlg" Control="OK" Event="SetTargetPath" Value="[_BrowseProperty]" Order="3" />
62 <Publish Dialog="BrowseDlg" Control="OK" Event="EndDialog" Value="Return" Order="4" />
63
59 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1" Condition="NOT Installed OR WixUI_InstallMode = &quot;Change&quot;" /> 64 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1" Condition="NOT Installed OR WixUI_InstallMode = &quot;Change&quot;" />
60 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2" Condition="Installed AND NOT PATCH" /> 65 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2" Condition="Installed AND NOT PATCH" />
61 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3" Condition="Installed AND PATCH" /> 66 <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3" Condition="Installed AND PATCH" />