diff options
| author | Bob Arnson <bob@firegiant.com> | 2022-01-29 23:44:11 -0500 |
|---|---|---|
| committer | Bob Arnson <github@bobs.org> | 2022-01-30 13:02:05 -0500 |
| commit | 7ce477c6863c74ef0a50d117d8c28b2f19971b42 (patch) | |
| tree | b953aae25a04d9ffbf0bd4609055087d96e760dc /src/ext/UI/wixlib | |
| parent | 3c1b81ff55975adffdc76f1a184b0f264bd97cd6 (diff) | |
| download | wix-7ce477c6863c74ef0a50d117d8c28b2f19971b42.tar.gz wix-7ce477c6863c74ef0a50d117d8c28b2f19971b42.tar.bz2 wix-7ce477c6863c74ef0a50d117d8c28b2f19971b42.zip | |
Add compiler extension to handle platforms.
Custom actions to print EULA and validate install directories are
defined in WixUIExtension compiler extension, to handle
platform-specific custom actions referred to from `DoAction` control
events. This is the least-worst solution, given the `DoAction` approach
used in the WixUI authoring and anyone customizing a WixUI set.
Diffstat (limited to 'src/ext/UI/wixlib')
| -rw-r--r-- | src/ext/UI/wixlib/Common_Platform.wxi | 17 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/Common_arm64.wxs | 7 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/Common_x64.wxs | 7 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/WixUI_Advanced.wxs | 1 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/WixUI_FeatureTree.wxs | 1 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/WixUI_InstallDir.wxs | 1 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/WixUI_Minimal.wxs | 1 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/WixUI_Mondo.wxs | 1 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/caSuffix.wxi | 27 | ||||
| -rw-r--r-- | src/ext/UI/wixlib/ui.wixproj | 4 |
10 files changed, 24 insertions, 43 deletions
diff --git a/src/ext/UI/wixlib/Common_Platform.wxi b/src/ext/UI/wixlib/Common_Platform.wxi index ffaa7114..0c03629c 100644 --- a/src/ext/UI/wixlib/Common_Platform.wxi +++ b/src/ext/UI/wixlib/Common_Platform.wxi | |||
| @@ -2,18 +2,15 @@ | |||
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | 4 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> |
| 5 | <?include caSuffix.wxi ?> | 5 | <?include ..\..\caDecor.wxi ?> |
| 6 | <Fragment> | ||
| 7 | <!-- print EULA functionality --> | ||
| 8 | <CustomAction Id="WixUIPrintEula$(var.Suffix)" DllEntry="PrintEula" Return="ignore" Execute="immediate" BinaryRef="WixUIWixca$(var.Suffix)" /> | ||
| 9 | </Fragment> | ||
| 10 | 6 | ||
| 11 | <Fragment> | 7 | <!-- |
| 12 | <!-- Validate install directory --> | 8 | Custom actions to print EULA amd validate install directories are defined |
| 13 | <CustomAction Id="WixUIValidatePath$(var.Suffix)" DllEntry="ValidatePath" Return="ignore" Execute="immediate" BinaryRef="WixUIWixca$(var.Suffix)" /> | 9 | in WixUIExtension compiler extension, to handle platform-specific custom |
| 14 | </Fragment> | 10 | actions referred to from `DoAction` control events. |
| 11 | --> | ||
| 15 | 12 | ||
| 16 | <Fragment> | 13 | <Fragment> |
| 17 | <Binary Id="WixUIWixca$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))uica.dll" /> | 14 | <Binary Id="WixUiCa$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))uica.dll" /> |
| 18 | </Fragment> | 15 | </Fragment> |
| 19 | </Include> | 16 | </Include> |
diff --git a/src/ext/UI/wixlib/Common_arm64.wxs b/src/ext/UI/wixlib/Common_arm64.wxs new file mode 100644 index 00000000..61dd5ddd --- /dev/null +++ b/src/ext/UI/wixlib/Common_arm64.wxs | |||
| @@ -0,0 +1,7 @@ | |||
| 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 | |||
| 4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 5 | <?define platform=arm64 ?> | ||
| 6 | <?include Common_Platform.wxi ?> | ||
| 7 | </Wix> | ||
diff --git a/src/ext/UI/wixlib/Common_x64.wxs b/src/ext/UI/wixlib/Common_x64.wxs new file mode 100644 index 00000000..89204605 --- /dev/null +++ b/src/ext/UI/wixlib/Common_x64.wxs | |||
| @@ -0,0 +1,7 @@ | |||
| 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 | |||
| 4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 5 | <?define platform=x64 ?> | ||
| 6 | <?include Common_Platform.wxi ?> | ||
| 7 | </Wix> | ||
diff --git a/src/ext/UI/wixlib/WixUI_Advanced.wxs b/src/ext/UI/wixlib/WixUI_Advanced.wxs index 7d1f4df0..2ea7a97d 100644 --- a/src/ext/UI/wixlib/WixUI_Advanced.wxs +++ b/src/ext/UI/wixlib/WixUI_Advanced.wxs | |||
| @@ -53,7 +53,6 @@ Todo: | |||
| 53 | <TextStyle Id="WixUI_Font_Emphasized" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Emphasized_Size)" Bold="yes" /> | 53 | <TextStyle Id="WixUI_Font_Emphasized" FaceName="!(loc.Advanced_Font_FaceName)" Size="!(loc.Advanced_Font_Emphasized_Size)" Bold="yes" /> |
| 54 | 54 | ||
| 55 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 55 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
| 56 | <Property Id="WixUI_Mode" Value="Advanced" /> | ||
| 57 | 56 | ||
| 58 | <DialogRef Id="BrowseDlg" /> | 57 | <DialogRef Id="BrowseDlg" /> |
| 59 | <DialogRef Id="DiskCostDlg" /> | 58 | <DialogRef Id="DiskCostDlg" /> |
diff --git a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs index e999f2fe..6f36bdb8 100644 --- a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs +++ b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs | |||
| @@ -29,7 +29,6 @@ Patch dialog sequence: | |||
| 29 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> | 29 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> |
| 30 | 30 | ||
| 31 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 31 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
| 32 | <Property Id="WixUI_Mode" Value="FeatureTree" /> | ||
| 33 | 32 | ||
| 34 | <DialogRef Id="ErrorDlg" /> | 33 | <DialogRef Id="ErrorDlg" /> |
| 35 | <DialogRef Id="FatalError" /> | 34 | <DialogRef Id="FatalError" /> |
diff --git a/src/ext/UI/wixlib/WixUI_InstallDir.wxs b/src/ext/UI/wixlib/WixUI_InstallDir.wxs index afe7820f..f8eb3b11 100644 --- a/src/ext/UI/wixlib/WixUI_InstallDir.wxs +++ b/src/ext/UI/wixlib/WixUI_InstallDir.wxs | |||
| @@ -30,7 +30,6 @@ Patch dialog sequence: | |||
| 30 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> | 30 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> |
| 31 | 31 | ||
| 32 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 32 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
| 33 | <Property Id="WixUI_Mode" Value="InstallDir" /> | ||
| 34 | 33 | ||
| 35 | <DialogRef Id="BrowseDlg" /> | 34 | <DialogRef Id="BrowseDlg" /> |
| 36 | <DialogRef Id="DiskCostDlg" /> | 35 | <DialogRef Id="DiskCostDlg" /> |
diff --git a/src/ext/UI/wixlib/WixUI_Minimal.wxs b/src/ext/UI/wixlib/WixUI_Minimal.wxs index 08dba96d..8ac9751f 100644 --- a/src/ext/UI/wixlib/WixUI_Minimal.wxs +++ b/src/ext/UI/wixlib/WixUI_Minimal.wxs | |||
| @@ -24,7 +24,6 @@ Patch dialog sequence: | |||
| 24 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> | 24 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> |
| 25 | 25 | ||
| 26 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 26 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
| 27 | <Property Id="WixUI_Mode" Value="Minimal" /> | ||
| 28 | 27 | ||
| 29 | <DialogRef Id="ErrorDlg" /> | 28 | <DialogRef Id="ErrorDlg" /> |
| 30 | <DialogRef Id="FatalError" /> | 29 | <DialogRef Id="FatalError" /> |
diff --git a/src/ext/UI/wixlib/WixUI_Mondo.wxs b/src/ext/UI/wixlib/WixUI_Mondo.wxs index 2d53b9dd..6a4b15b1 100644 --- a/src/ext/UI/wixlib/WixUI_Mondo.wxs +++ b/src/ext/UI/wixlib/WixUI_Mondo.wxs | |||
| @@ -31,7 +31,6 @@ Patch dialog sequence: | |||
| 31 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> | 31 | <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> |
| 32 | 32 | ||
| 33 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 33 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
| 34 | <Property Id="WixUI_Mode" Value="Mondo" /> | ||
| 35 | 34 | ||
| 36 | <DialogRef Id="ErrorDlg" /> | 35 | <DialogRef Id="ErrorDlg" /> |
| 37 | <DialogRef Id="FatalError" /> | 36 | <DialogRef Id="FatalError" /> |
diff --git a/src/ext/UI/wixlib/caSuffix.wxi b/src/ext/UI/wixlib/caSuffix.wxi deleted file mode 100644 index 18436269..00000000 --- a/src/ext/UI/wixlib/caSuffix.wxi +++ /dev/null | |||
| @@ -1,27 +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 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 4 | <?ifndef platform ?> | ||
| 5 | <?error Required value "platform" not defined in include caSuffix.wxi ?> | ||
| 6 | <?endif?> | ||
| 7 | |||
| 8 | <?ifdef Suffix ?> | ||
| 9 | <?undef Suffix ?> | ||
| 10 | <?undef DeferredSuffix ?> | ||
| 11 | <?endif?> | ||
| 12 | |||
| 13 | <?if $(var.platform)="x86" ?> | ||
| 14 | <?define Suffix="" ?> | ||
| 15 | <?define DeferredSuffix="" ?> | ||
| 16 | <?endif?> | ||
| 17 | |||
| 18 | <?if $(var.platform)="x64" ?> | ||
| 19 | <?define Suffix="_x64" ?> | ||
| 20 | <?define DeferredSuffix="_64" ?> | ||
| 21 | <?endif?> | ||
| 22 | |||
| 23 | <?if $(var.platform)="arm" ?> | ||
| 24 | <?define Suffix="_ARM" ?> | ||
| 25 | <?define DeferredSuffix="_ARM" ?> | ||
| 26 | <?endif?> | ||
| 27 | </Include> | ||
diff --git a/src/ext/UI/wixlib/ui.wixproj b/src/ext/UI/wixlib/ui.wixproj index 2b335f01..ead77af4 100644 --- a/src/ext/UI/wixlib/ui.wixproj +++ b/src/ext/UI/wixlib/ui.wixproj | |||
| @@ -27,7 +27,9 @@ | |||
| 27 | </ItemGroup> | 27 | </ItemGroup> |
| 28 | 28 | ||
| 29 | <ItemGroup> | 29 | <ItemGroup> |
| 30 | <ProjectReference Include="..\ca\uica.vcxproj" Properties="Platform=x86" ReferenceOutputAssembly="false" /> | 30 | <ProjectReference Include="..\ca\uica.vcxproj" Properties="Platform=x86" /> |
| 31 | <ProjectReference Include="..\ca\uica.vcxproj" Properties="Platform=x64" /> | ||
| 32 | <ProjectReference Include="..\ca\uica.vcxproj" Properties="Platform=ARM64" /> | ||
| 31 | </ItemGroup> | 33 | </ItemGroup> |
| 32 | 34 | ||
| 33 | <ItemGroup> | 35 | <ItemGroup> |
