diff options
author | Bob Arnson <bob@joyofsetup.com> | 2020-05-25 21:49:38 -0400 |
---|---|---|
committer | Bob Arnson <bob@firegiant.com> | 2020-05-25 21:57:21 -0400 |
commit | 3aa4f95a7ac23567efbaebdae57007636e7f6058 (patch) | |
tree | a6985084bc89fc842b0869c8cbbf8aece9bb1b67 | |
parent | 27afde67e4bb9ad06f8722a83984a09236516f69 (diff) | |
download | wix-3aa4f95a7ac23567efbaebdae57007636e7f6058.tar.gz wix-3aa4f95a7ac23567efbaebdae57007636e7f6058.tar.bz2 wix-3aa4f95a7ac23567efbaebdae57007636e7f6058.zip |
Support platform-specific CAs (including ARM64).
-rw-r--r-- | appveyor.cmd | 3 | ||||
-rw-r--r-- | src/ca/XmlConfig.cpp | 19 | ||||
-rw-r--r-- | src/ca/XmlFile.cpp | 23 | ||||
-rw-r--r-- | src/ca/qtexecca.cpp | 4 | ||||
-rw-r--r-- | src/ca/scaperfexec.cpp | 6 | ||||
-rw-r--r-- | src/ca/utilca.vcxproj | 26 | ||||
-rw-r--r-- | src/test/WixToolsetTest.Util/UtilExtensionFixture.cs | 64 | ||||
-rw-r--r-- | src/wixext/UtilCompiler.cs | 42 | ||||
-rw-r--r-- | src/wixlib/UtilExtension.wxs | 93 | ||||
-rw-r--r-- | src/wixlib/UtilExtension_Platform.wxi | 516 | ||||
-rw-r--r-- | src/wixlib/UtilExtension_arm.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/UtilExtension_arm64.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/util.wixproj | 40 |
13 files changed, 477 insertions, 375 deletions
diff --git a/appveyor.cmd b/appveyor.cmd index 3493d585..0dc63d47 100644 --- a/appveyor.cmd +++ b/appveyor.cmd | |||
@@ -9,5 +9,8 @@ msbuild -p:Configuration=Release src\test\WixToolsetTest.Util\WixToolsetTest.Uti | |||
9 | 9 | ||
10 | msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.Util.wixext.csproj | 10 | msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.Util.wixext.csproj |
11 | 11 | ||
12 | msbuild -p:Configuration=Release src\test\WixToolsetTest.Util\WixToolsetTest.Util.csproj | ||
13 | dotnet test -c Release --no-build src\test\WixToolsetTest.Util | ||
14 | |||
12 | @popd | 15 | @popd |
13 | @endlocal \ No newline at end of file | 16 | @endlocal \ No newline at end of file |
diff --git a/src/ca/XmlConfig.cpp b/src/ca/XmlConfig.cpp index 8c60979d..afd3dafb 100644 --- a/src/ca/XmlConfig.cpp +++ b/src/ca/XmlConfig.cpp | |||
@@ -588,8 +588,9 @@ extern "C" UINT __stdcall ExecXmlConfig( | |||
588 | HRESULT hrOpenFailure = S_OK; | 588 | HRESULT hrOpenFailure = S_OK; |
589 | UINT er = ERROR_SUCCESS; | 589 | UINT er = ERROR_SUCCESS; |
590 | 590 | ||
591 | BOOL fIsWow64Process = FALSE; | 591 | #ifndef _WIN64 |
592 | BOOL fIsFSRedirectDisabled = FALSE; | 592 | BOOL fIsFSRedirectDisabled = FALSE; |
593 | #endif | ||
593 | BOOL fPreserveDate = FALSE; | 594 | BOOL fPreserveDate = FALSE; |
594 | 595 | ||
595 | LPWSTR pwzCustomActionData = NULL; | 596 | LPWSTR pwzCustomActionData = NULL; |
@@ -635,10 +636,12 @@ extern "C" UINT __stdcall ExecXmlConfig( | |||
635 | hr = WcaReadIntegerFromCaData(&pwz, (int*) &xa); | 636 | hr = WcaReadIntegerFromCaData(&pwz, (int*) &xa); |
636 | ExitOnFailure(hr, "failed to process CustomActionData"); | 637 | ExitOnFailure(hr, "failed to process CustomActionData"); |
637 | 638 | ||
639 | #ifndef _WIN64 | ||
638 | // Initialize the Wow64 API - store the result in fWow64APIPresent | 640 | // Initialize the Wow64 API - store the result in fWow64APIPresent |
639 | // If it fails, this doesn't warrant an error yet, because we only need the Wow64 API in some cases | 641 | // If it fails, this doesn't warrant an error yet, because we only need the Wow64 API in some cases |
640 | WcaInitializeWow64(); | 642 | WcaInitializeWow64(); |
641 | fIsWow64Process = WcaIsWow64Process(); | 643 | BOOL fIsWow64Process = WcaIsWow64Process(); |
644 | #endif | ||
642 | 645 | ||
643 | if (xaOpenFile != xa && xaOpenFilex64 != xa) | 646 | if (xaOpenFile != xa && xaOpenFilex64 != xa) |
644 | { | 647 | { |
@@ -657,6 +660,7 @@ extern "C" UINT __stdcall ExecXmlConfig( | |||
657 | // Open the file | 660 | // Open the file |
658 | ReleaseNullObject(pixd); | 661 | ReleaseNullObject(pixd); |
659 | 662 | ||
663 | #ifndef _WIN64 | ||
660 | if (xaOpenFilex64 == xa) | 664 | if (xaOpenFilex64 == xa) |
661 | { | 665 | { |
662 | if (!fIsWow64Process) | 666 | if (!fIsWow64Process) |
@@ -670,6 +674,7 @@ extern "C" UINT __stdcall ExecXmlConfig( | |||
670 | 674 | ||
671 | fIsFSRedirectDisabled = TRUE; | 675 | fIsFSRedirectDisabled = TRUE; |
672 | } | 676 | } |
677 | #endif | ||
673 | 678 | ||
674 | hr = XmlLoadDocumentFromFileEx(pwzFile, XML_LOAD_PRESERVE_WHITESPACE, &pixd); | 679 | hr = XmlLoadDocumentFromFileEx(pwzFile, XML_LOAD_PRESERVE_WHITESPACE, &pixd); |
675 | if (FAILED(hr)) | 680 | if (FAILED(hr)) |
@@ -945,15 +950,18 @@ extern "C" UINT __stdcall ExecXmlConfig( | |||
945 | ExitOnFailure(hr, "failed to set modified time of file : %ls", pwzFile); | 950 | ExitOnFailure(hr, "failed to set modified time of file : %ls", pwzFile); |
946 | } | 951 | } |
947 | 952 | ||
953 | #ifndef _WIN64 | ||
948 | if (fIsFSRedirectDisabled) | 954 | if (fIsFSRedirectDisabled) |
949 | { | 955 | { |
950 | fIsFSRedirectDisabled = FALSE; | 956 | fIsFSRedirectDisabled = FALSE; |
951 | WcaRevertWow64FSRedirection(); | 957 | WcaRevertWow64FSRedirection(); |
952 | } | 958 | } |
959 | #endif | ||
953 | } | 960 | } |
954 | } | 961 | } |
955 | 962 | ||
956 | LExit: | 963 | LExit: |
964 | #ifndef _WIN64 | ||
957 | // Make sure we revert FS Redirection if necessary before exiting | 965 | // Make sure we revert FS Redirection if necessary before exiting |
958 | if (fIsFSRedirectDisabled) | 966 | if (fIsFSRedirectDisabled) |
959 | { | 967 | { |
@@ -961,6 +969,7 @@ LExit: | |||
961 | WcaRevertWow64FSRedirection(); | 969 | WcaRevertWow64FSRedirection(); |
962 | } | 970 | } |
963 | WcaFinalizeWow64(); | 971 | WcaFinalizeWow64(); |
972 | #endif | ||
964 | 973 | ||
965 | ReleaseStr(pwzCustomActionData); | 974 | ReleaseStr(pwzCustomActionData); |
966 | ReleaseStr(pwzData); | 975 | ReleaseStr(pwzData); |
@@ -1001,7 +1010,9 @@ extern "C" UINT __stdcall ExecXmlConfigRollback( | |||
1001 | UINT er = ERROR_SUCCESS; | 1010 | UINT er = ERROR_SUCCESS; |
1002 | 1011 | ||
1003 | int iIs64Bit; | 1012 | int iIs64Bit; |
1013 | #ifndef _WIN64 | ||
1004 | BOOL fIs64Bit = FALSE; | 1014 | BOOL fIs64Bit = FALSE; |
1015 | #endif | ||
1005 | 1016 | ||
1006 | LPWSTR pwzCustomActionData = NULL; | 1017 | LPWSTR pwzCustomActionData = NULL; |
1007 | LPWSTR pwz = NULL; | 1018 | LPWSTR pwz = NULL; |
@@ -1035,6 +1046,7 @@ extern "C" UINT __stdcall ExecXmlConfigRollback( | |||
1035 | hr = WcaReadStreamFromCaData(&pwz, &pbData, &cbData); | 1046 | hr = WcaReadStreamFromCaData(&pwz, &pbData, &cbData); |
1036 | ExitOnFailure(hr, "failed to read file contents from custom action data"); | 1047 | ExitOnFailure(hr, "failed to read file contents from custom action data"); |
1037 | 1048 | ||
1049 | #ifndef _WIN64 | ||
1038 | fIs64Bit = (BOOL)iIs64Bit; | 1050 | fIs64Bit = (BOOL)iIs64Bit; |
1039 | 1051 | ||
1040 | if (fIs64Bit) | 1052 | if (fIs64Bit) |
@@ -1055,6 +1067,7 @@ extern "C" UINT __stdcall ExecXmlConfigRollback( | |||
1055 | hr = WcaDisableWow64FSRedirection(); | 1067 | hr = WcaDisableWow64FSRedirection(); |
1056 | ExitOnFailure(hr, "Custom action was told to rollback a 64-bit component, but was unable to Disable Filesystem Redirection through the Wow64 API."); | 1068 | ExitOnFailure(hr, "Custom action was told to rollback a 64-bit component, but was unable to Disable Filesystem Redirection through the Wow64 API."); |
1057 | } | 1069 | } |
1070 | #endif | ||
1058 | 1071 | ||
1059 | hr = FileGetTime(pwzFileName, NULL, NULL, &ft); | 1072 | hr = FileGetTime(pwzFileName, NULL, NULL, &ft); |
1060 | ExitOnFailure(hr, "Failed to get modified date of file %ls.", pwzFileName); | 1073 | ExitOnFailure(hr, "Failed to get modified date of file %ls.", pwzFileName); |
@@ -1082,11 +1095,13 @@ LExit: | |||
1082 | 1095 | ||
1083 | ReleaseFile(hFile); | 1096 | ReleaseFile(hFile); |
1084 | 1097 | ||
1098 | #ifndef _WIN64 | ||
1085 | if (fIs64Bit) | 1099 | if (fIs64Bit) |
1086 | { | 1100 | { |
1087 | WcaRevertWow64FSRedirection(); | 1101 | WcaRevertWow64FSRedirection(); |
1088 | WcaFinalizeWow64(); | 1102 | WcaFinalizeWow64(); |
1089 | } | 1103 | } |
1104 | #endif | ||
1090 | 1105 | ||
1091 | ReleaseMem(pbData); | 1106 | ReleaseMem(pbData); |
1092 | 1107 | ||
diff --git a/src/ca/XmlFile.cpp b/src/ca/XmlFile.cpp index 95449126..71c9a390 100644 --- a/src/ca/XmlFile.cpp +++ b/src/ca/XmlFile.cpp | |||
@@ -464,9 +464,7 @@ LExit: | |||
464 | ReleaseStr(pwzCurrentFile); | 464 | ReleaseStr(pwzCurrentFile); |
465 | ReleaseStr(pwzCustomActionData); | 465 | ReleaseStr(pwzCustomActionData); |
466 | 466 | ||
467 | if (FAILED(hr)) | 467 | return WcaFinalize(FAILED(hr) ? ERROR_INSTALL_FAILURE : er); |
468 | er = ERROR_INSTALL_FAILURE; | ||
469 | return WcaFinalize(er); | ||
470 | } | 468 | } |
471 | 469 | ||
472 | 470 | ||
@@ -483,7 +481,6 @@ extern "C" UINT __stdcall ExecXmlFile( | |||
483 | HRESULT hrOpenFailure = S_OK; | 481 | HRESULT hrOpenFailure = S_OK; |
484 | UINT er = ERROR_SUCCESS; | 482 | UINT er = ERROR_SUCCESS; |
485 | 483 | ||
486 | BOOL fIsWow64Process = FALSE; | ||
487 | BOOL fIsFSRedirectDisabled = FALSE; | 484 | BOOL fIsFSRedirectDisabled = FALSE; |
488 | BOOL fPreserveDate = FALSE; | 485 | BOOL fPreserveDate = FALSE; |
489 | 486 | ||
@@ -533,10 +530,12 @@ extern "C" UINT __stdcall ExecXmlFile( | |||
533 | hr = WcaReadIntegerFromCaData(&pwz, (int*) &xa); | 530 | hr = WcaReadIntegerFromCaData(&pwz, (int*) &xa); |
534 | ExitOnFailure(hr, "failed to process CustomActionData"); | 531 | ExitOnFailure(hr, "failed to process CustomActionData"); |
535 | 532 | ||
533 | #ifndef _WIN64 | ||
536 | // Initialize the Wow64 API - store the result in fWow64APIPresent | 534 | // Initialize the Wow64 API - store the result in fWow64APIPresent |
537 | // If it fails, this doesn't warrant an error yet, because we only need the Wow64 API in some cases | 535 | // If it fails, this doesn't warrant an error yet, because we only need the Wow64 API in some cases |
538 | WcaInitializeWow64(); | 536 | WcaInitializeWow64(); |
539 | fIsWow64Process = WcaIsWow64Process(); | 537 | BOOL fIsWow64Process = WcaIsWow64Process(); |
538 | #endif | ||
540 | 539 | ||
541 | if (xaOpenFile != xa && xaOpenFilex64 != xa) | 540 | if (xaOpenFile != xa && xaOpenFilex64 != xa) |
542 | ExitOnFailure(hr = E_INVALIDARG, "invalid custom action data"); | 541 | ExitOnFailure(hr = E_INVALIDARG, "invalid custom action data"); |
@@ -558,6 +557,7 @@ extern "C" UINT __stdcall ExecXmlFile( | |||
558 | 557 | ||
559 | if (xaOpenFilex64 == xa) | 558 | if (xaOpenFilex64 == xa) |
560 | { | 559 | { |
560 | #ifndef _WIN64 | ||
561 | if (!fIsWow64Process) | 561 | if (!fIsWow64Process) |
562 | { | 562 | { |
563 | hr = E_NOTIMPL; | 563 | hr = E_NOTIMPL; |
@@ -568,6 +568,7 @@ extern "C" UINT __stdcall ExecXmlFile( | |||
568 | ExitOnFailure(hr, "Custom action was told to act on a 64-bit component, but was unable to disable filesystem redirection through the Wow64 API."); | 568 | ExitOnFailure(hr, "Custom action was told to act on a 64-bit component, but was unable to disable filesystem redirection through the Wow64 API."); |
569 | 569 | ||
570 | fIsFSRedirectDisabled = TRUE; | 570 | fIsFSRedirectDisabled = TRUE; |
571 | #endif | ||
571 | } | 572 | } |
572 | 573 | ||
573 | hr = XmlLoadDocumentFromFileEx(pwzFile, XML_LOAD_PRESERVE_WHITESPACE, &pixd); | 574 | hr = XmlLoadDocumentFromFileEx(pwzFile, XML_LOAD_PRESERVE_WHITESPACE, &pixd); |
@@ -810,7 +811,9 @@ LExit: | |||
810 | fIsFSRedirectDisabled = FALSE; | 811 | fIsFSRedirectDisabled = FALSE; |
811 | WcaRevertWow64FSRedirection(); | 812 | WcaRevertWow64FSRedirection(); |
812 | } | 813 | } |
814 | #ifndef _WIN64 | ||
813 | WcaFinalizeWow64(); | 815 | WcaFinalizeWow64(); |
816 | #endif | ||
814 | 817 | ||
815 | ReleaseStr(pwzCustomActionData); | 818 | ReleaseStr(pwzCustomActionData); |
816 | ReleaseStr(pwzData); | 819 | ReleaseStr(pwzData); |
@@ -829,9 +832,7 @@ LExit: | |||
829 | 832 | ||
830 | XmlUninitialize(); | 833 | XmlUninitialize(); |
831 | 834 | ||
832 | if (FAILED(hr)) | 835 | return WcaFinalize(FAILED(hr) ? ERROR_INSTALL_FAILURE : er); |
833 | er = ERROR_INSTALL_FAILURE; | ||
834 | return WcaFinalize(er); | ||
835 | } | 836 | } |
836 | 837 | ||
837 | 838 | ||
@@ -882,6 +883,7 @@ extern "C" UINT __stdcall ExecXmlFileRollback( | |||
882 | hr = WcaReadStreamFromCaData(&pwz, &pbData, &cbData); | 883 | hr = WcaReadStreamFromCaData(&pwz, &pbData, &cbData); |
883 | ExitOnFailure(hr, "failed to read file contents from custom action data"); | 884 | ExitOnFailure(hr, "failed to read file contents from custom action data"); |
884 | 885 | ||
886 | #ifndef _WIN64 | ||
885 | fIs64Bit = (BOOL)iIs64Bit; | 887 | fIs64Bit = (BOOL)iIs64Bit; |
886 | 888 | ||
887 | if (fIs64Bit) | 889 | if (fIs64Bit) |
@@ -902,6 +904,7 @@ extern "C" UINT __stdcall ExecXmlFileRollback( | |||
902 | hr = WcaDisableWow64FSRedirection(); | 904 | hr = WcaDisableWow64FSRedirection(); |
903 | ExitOnFailure(hr, "Custom action was told to rollback a 64-bit component, but was unable to Disable Filesystem Redirection through the Wow64 API."); | 905 | ExitOnFailure(hr, "Custom action was told to rollback a 64-bit component, but was unable to Disable Filesystem Redirection through the Wow64 API."); |
904 | } | 906 | } |
907 | #endif | ||
905 | 908 | ||
906 | // Always preserve the modified date on rollback | 909 | // Always preserve the modified date on rollback |
907 | hr = FileGetTime(pwzFileName, NULL, NULL, &ft); | 910 | hr = FileGetTime(pwzFileName, NULL, NULL, &ft); |
@@ -937,8 +940,6 @@ LExit: | |||
937 | 940 | ||
938 | ReleaseMem(pbData); | 941 | ReleaseMem(pbData); |
939 | 942 | ||
940 | if (FAILED(hr)) | 943 | return WcaFinalize(FAILED(hr) ? ERROR_INSTALL_FAILURE : er); |
941 | er = ERROR_INSTALL_FAILURE; | ||
942 | return WcaFinalize(er); | ||
943 | } | 944 | } |
944 | 945 | ||
diff --git a/src/ca/qtexecca.cpp b/src/ca/qtexecca.cpp index 6acad0bb..ddcc812f 100644 --- a/src/ca/qtexecca.cpp +++ b/src/ca/qtexecca.cpp | |||
@@ -131,6 +131,7 @@ HRESULT ExecCommon64( | |||
131 | HRESULT hr = S_OK; | 131 | HRESULT hr = S_OK; |
132 | LPWSTR pwzCommand = NULL; | 132 | LPWSTR pwzCommand = NULL; |
133 | DWORD dwTimeout = 0; | 133 | DWORD dwTimeout = 0; |
134 | #ifndef _WIN64 | ||
134 | BOOL fIsWow64Initialized = FALSE; | 135 | BOOL fIsWow64Initialized = FALSE; |
135 | BOOL fRedirected = FALSE; | 136 | BOOL fRedirected = FALSE; |
136 | 137 | ||
@@ -145,6 +146,7 @@ HRESULT ExecCommon64( | |||
145 | hr = WcaDisableWow64FSRedirection(); | 146 | hr = WcaDisableWow64FSRedirection(); |
146 | ExitOnFailure(hr, "Failed to enable filesystem redirection."); | 147 | ExitOnFailure(hr, "Failed to enable filesystem redirection."); |
147 | fRedirected = TRUE; | 148 | fRedirected = TRUE; |
149 | #endif | ||
148 | 150 | ||
149 | hr = BuildCommandLine(wzArgumentsProperty, &pwzCommand); | 151 | hr = BuildCommandLine(wzArgumentsProperty, &pwzCommand); |
150 | ExitOnFailure(hr, "Failed to get Command Line"); | 152 | ExitOnFailure(hr, "Failed to get Command Line"); |
@@ -157,6 +159,7 @@ HRESULT ExecCommon64( | |||
157 | LExit: | 159 | LExit: |
158 | ReleaseStr(pwzCommand); | 160 | ReleaseStr(pwzCommand); |
159 | 161 | ||
162 | #ifndef _WIN64 | ||
160 | if (fRedirected) | 163 | if (fRedirected) |
161 | { | 164 | { |
162 | WcaRevertWow64FSRedirection(); | 165 | WcaRevertWow64FSRedirection(); |
@@ -166,6 +169,7 @@ LExit: | |||
166 | { | 169 | { |
167 | WcaFinalizeWow64(); | 170 | WcaFinalizeWow64(); |
168 | } | 171 | } |
172 | #endif | ||
169 | 173 | ||
170 | return hr; | 174 | return hr; |
171 | } | 175 | } |
diff --git a/src/ca/scaperfexec.cpp b/src/ca/scaperfexec.cpp index 04c0648a..c5425754 100644 --- a/src/ca/scaperfexec.cpp +++ b/src/ca/scaperfexec.cpp | |||
@@ -87,10 +87,10 @@ extern "C" UINT __stdcall RegisterPerfmon( | |||
87 | 87 | ||
88 | HMODULE hMod = NULL; | 88 | HMODULE hMod = NULL; |
89 | PFNPERFCOUNTERTEXTSTRINGS pfnPerfCounterTextString; | 89 | PFNPERFCOUNTERTEXTSTRINGS pfnPerfCounterTextString; |
90 | DWORD_PTR dwRet; | 90 | DWORD dwRet; |
91 | LPWSTR pwzShortPath = NULL; | 91 | LPWSTR pwzShortPath = NULL; |
92 | DWORD_PTR cchShortPath = MAX_PATH; | 92 | DWORD cchShortPath = MAX_PATH; |
93 | DWORD_PTR cchShortPathLength = 0; | 93 | DWORD cchShortPathLength = 0; |
94 | 94 | ||
95 | LPWSTR pwzCommand = NULL; | 95 | LPWSTR pwzCommand = NULL; |
96 | 96 | ||
diff --git a/src/ca/utilca.vcxproj b/src/ca/utilca.vcxproj index a2391880..38d209b2 100644 --- a/src/ca/utilca.vcxproj +++ b/src/ca/utilca.vcxproj | |||
@@ -6,6 +6,30 @@ | |||
6 | <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" /> | 6 | <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" /> |
7 | 7 | ||
8 | <ItemGroup Label="ProjectConfigurations"> | 8 | <ItemGroup Label="ProjectConfigurations"> |
9 | <ProjectConfiguration Include="Debug|ARM"> | ||
10 | <Configuration>Debug</Configuration> | ||
11 | <Platform>ARM</Platform> | ||
12 | </ProjectConfiguration> | ||
13 | <ProjectConfiguration Include="Release|ARM"> | ||
14 | <Configuration>Release</Configuration> | ||
15 | <Platform>ARM</Platform> | ||
16 | </ProjectConfiguration> | ||
17 | <ProjectConfiguration Include="Debug|ARM64"> | ||
18 | <Configuration>Debug</Configuration> | ||
19 | <Platform>ARM64</Platform> | ||
20 | </ProjectConfiguration> | ||
21 | <ProjectConfiguration Include="Release|ARM64"> | ||
22 | <Configuration>Release</Configuration> | ||
23 | <Platform>ARM64</Platform> | ||
24 | </ProjectConfiguration> | ||
25 | <ProjectConfiguration Include="Debug|X64"> | ||
26 | <Configuration>Debug</Configuration> | ||
27 | <Platform>X64</Platform> | ||
28 | </ProjectConfiguration> | ||
29 | <ProjectConfiguration Include="Release|X64"> | ||
30 | <Configuration>Release</Configuration> | ||
31 | <Platform>X64</Platform> | ||
32 | </ProjectConfiguration> | ||
9 | <ProjectConfiguration Include="Debug|Win32"> | 33 | <ProjectConfiguration Include="Debug|Win32"> |
10 | <Configuration>Debug</Configuration> | 34 | <Configuration>Debug</Configuration> |
11 | <Platform>Win32</Platform> | 35 | <Platform>Win32</Platform> |
@@ -20,7 +44,7 @@ | |||
20 | <ProjectGuid>{076018F7-19BD-423A-ABBF-229273DA08D8}</ProjectGuid> | 44 | <ProjectGuid>{076018F7-19BD-423A-ABBF-229273DA08D8}</ProjectGuid> |
21 | <ConfigurationType>DynamicLibrary</ConfigurationType> | 45 | <ConfigurationType>DynamicLibrary</ConfigurationType> |
22 | <TargetName>utilca</TargetName> | 46 | <TargetName>utilca</TargetName> |
23 | <PlatformToolset>v141</PlatformToolset> | 47 | <PlatformToolset>v142</PlatformToolset> |
24 | <CharacterSet>Unicode</CharacterSet> | 48 | <CharacterSet>Unicode</CharacterSet> |
25 | <ProjectModuleDefinitionFile>utilca.def</ProjectModuleDefinitionFile> | 49 | <ProjectModuleDefinitionFile>utilca.def</ProjectModuleDefinitionFile> |
26 | <Description>WiX Toolset Util CustomAction</Description> | 50 | <Description>WiX Toolset Util CustomAction</Description> |
diff --git a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs index eb4588ec..75e0b14f 100644 --- a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs +++ b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs | |||
@@ -43,13 +43,13 @@ namespace WixToolsetTest.Util | |||
43 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4FileShare", "Wix4FileSharePermissions"); | 43 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4FileShare", "Wix4FileSharePermissions"); |
44 | Assert.Equal(new[] | 44 | Assert.Equal(new[] |
45 | { | 45 | { |
46 | "Binary:Wix4UtilCA_X86\t[Binary data]", | 46 | "Binary:Wix4UtilCA_X64\t[Binary data]", |
47 | "CustomAction:Wix4ConfigureSmbInstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbInstall\t", | 47 | "CustomAction:Wix4ConfigureSmbInstall_X64\t1\tWix4UtilCA_X64\tConfigureSmbInstall\t", |
48 | "CustomAction:Wix4ConfigureSmbUninstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbUninstall\t", | 48 | "CustomAction:Wix4ConfigureSmbUninstall_X64\t1\tWix4UtilCA_X64\tConfigureSmbUninstall\t", |
49 | "CustomAction:Wix4CreateSmb_X86\t11265\tWix4UtilCA_X86\tCreateSmb\t", | 49 | "CustomAction:Wix4CreateSmb_X64\t11265\tWix4UtilCA_X64\tCreateSmb\t", |
50 | "CustomAction:Wix4CreateSmbRollback_X86\t11585\tWix4UtilCA_X86\tDropSmb\t", | 50 | "CustomAction:Wix4CreateSmbRollback_X64\t11585\tWix4UtilCA_X64\tDropSmb\t", |
51 | "CustomAction:Wix4DropSmb_X86\t11265\tWix4UtilCA_X86\tDropSmb\t", | 51 | "CustomAction:Wix4DropSmb_X64\t11265\tWix4UtilCA_X64\tDropSmb\t", |
52 | "CustomAction:Wix4DropSmbRollback_X86\t11585\tWix4UtilCA_X86\tCreateSmb\t", | 52 | "CustomAction:Wix4DropSmbRollback_X64\t11585\tWix4UtilCA_X64\tCreateSmb\t", |
53 | "Wix4FileShare:ExampleFileShare\texample\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example file share\tINSTALLFOLDER", | 53 | "Wix4FileShare:ExampleFileShare\texample\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example file share\tINSTALLFOLDER", |
54 | "Wix4FileSharePermissions:ExampleFileShare\tEveryone\t1", | 54 | "Wix4FileSharePermissions:ExampleFileShare\tEveryone\t1", |
55 | }, results.OrderBy(s => s).ToArray()); | 55 | }, results.OrderBy(s => s).ToArray()); |
@@ -61,13 +61,13 @@ namespace WixToolsetTest.Util | |||
61 | var folder = TestData.Get(@"TestData\CloseApplication"); | 61 | var folder = TestData.Get(@"TestData\CloseApplication"); |
62 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | 62 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); |
63 | 63 | ||
64 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4CloseApplication"); | 64 | var results = build.BuildAndQuery(BuildARM64, "Binary", "CustomAction", "Wix4CloseApplication"); |
65 | Assert.Equal(new[] | 65 | Assert.Equal(new[] |
66 | { | 66 | { |
67 | "Binary:Wix4UtilCA_X86\t[Binary data]", | 67 | "Binary:Wix4UtilCA_A64\t[Binary data]", |
68 | "CustomAction:Wix4CheckRebootRequired_X86\t65\tWix4UtilCA_X86\tWixCheckRebootRequired\t", | 68 | "CustomAction:Wix4CheckRebootRequired_A64\t65\tWix4UtilCA_A64\tWixCheckRebootRequired\t", |
69 | "CustomAction:Wix4CloseApplications_X86\t1\tWix4UtilCA_X86\tWixCloseApplications\t", | 69 | "CustomAction:Wix4CloseApplications_A64\t1\tWix4UtilCA_A64\tWixCloseApplications\t", |
70 | "CustomAction:Wix4CloseApplicationsDeferred_X86\t3073\tWix4UtilCA_X86\tWixCloseApplicationsDeferred\t", | 70 | "CustomAction:Wix4CloseApplicationsDeferred_A64\t3073\tWix4UtilCA_A64\tWixCloseApplicationsDeferred\t", |
71 | "Wix4CloseApplication:CloseMyApp\texplorer.exe\t\t\t3\t\tMYAPPISRUNNING\t\t", | 71 | "Wix4CloseApplication:CloseMyApp\texplorer.exe\t\t\t3\t\tMYAPPISRUNNING\t\t", |
72 | }, results.OrderBy(s => s).ToArray()); | 72 | }, results.OrderBy(s => s).ToArray()); |
73 | } | 73 | } |
@@ -81,10 +81,10 @@ namespace WixToolsetTest.Util | |||
81 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "RemoveFile", "Wix4InternetShortcut"); | 81 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "RemoveFile", "Wix4InternetShortcut"); |
82 | Assert.Equal(new[] | 82 | Assert.Equal(new[] |
83 | { | 83 | { |
84 | "Binary:Wix4UtilCA_X86\t[Binary data]", | 84 | "Binary:Wix4UtilCA_X64\t[Binary data]", |
85 | "CustomAction:Wix4CreateInternetShortcuts_X86\t3073\tWix4UtilCA_X86\tWixCreateInternetShortcuts\t", | 85 | "CustomAction:Wix4CreateInternetShortcuts_X64\t3073\tWix4UtilCA_X64\tWixCreateInternetShortcuts\t", |
86 | "CustomAction:Wix4RollbackInternetShortcuts_X86\t3329\tWix4UtilCA_X86\tWixRollbackInternetShortcuts\t", | 86 | "CustomAction:Wix4RollbackInternetShortcuts_X64\t3329\tWix4UtilCA_X64\tWixRollbackInternetShortcuts\t", |
87 | "CustomAction:Wix4SchedInternetShortcuts_X86\t1\tWix4UtilCA_X86\tWixSchedInternetShortcuts\t", | 87 | "CustomAction:Wix4SchedInternetShortcuts_X64\t1\tWix4UtilCA_X64\tWixSchedInternetShortcuts\t", |
88 | "RemoveFile:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tvtpzs3bw.lnk|WiX Toolset.lnk\tINSTALLFOLDER\t2", | 88 | "RemoveFile:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tvtpzs3bw.lnk|WiX Toolset.lnk\tINSTALLFOLDER\t2", |
89 | "Wix4InternetShortcut:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tINSTALLFOLDER\tWiX Toolset.lnk\thttps://wixtoolset.org\t0\t\t0", | 89 | "Wix4InternetShortcut:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tINSTALLFOLDER\tWiX Toolset.lnk\thttps://wixtoolset.org\t0\t\t0", |
90 | }, results.OrderBy(s => s).ToArray()); | 90 | }, results.OrderBy(s => s).ToArray()); |
@@ -113,19 +113,19 @@ namespace WixToolsetTest.Util | |||
113 | var folder = TestData.Get(@"TestData\EventManifest"); | 113 | var folder = TestData.Get(@"TestData\EventManifest"); |
114 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | 114 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); |
115 | 115 | ||
116 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4EventManifest", "Wix4XmlFile"); | 116 | var results = build.BuildAndQuery(BuildARM64, "Binary", "CustomAction", "Wix4EventManifest", "Wix4XmlFile"); |
117 | Assert.Equal(new[] | 117 | Assert.Equal(new[] |
118 | { | 118 | { |
119 | "Binary:Wix4UtilCA_X86\t[Binary data]", | 119 | "Binary:Wix4UtilCA_A64\t[Binary data]", |
120 | "CustomAction:Wix4ConfigureEventManifestRegister_X86\t1\tWix4UtilCA_X86\tConfigureEventManifestRegister\t", | 120 | "CustomAction:Wix4ConfigureEventManifestRegister_A64\t1\tWix4UtilCA_A64\tConfigureEventManifestRegister\t", |
121 | "CustomAction:Wix4ConfigureEventManifestUnregister_X86\t1\tWix4UtilCA_X86\tConfigureEventManifestUnregister\t", | 121 | "CustomAction:Wix4ConfigureEventManifestUnregister_A64\t1\tWix4UtilCA_A64\tConfigureEventManifestUnregister\t", |
122 | "CustomAction:Wix4ExecXmlFile_X86\t11265\tWix4UtilCA_X86\tExecXmlFile\t", | 122 | "CustomAction:Wix4ExecXmlFile_A64\t11265\tWix4UtilCA_A64\tExecXmlFile\t", |
123 | "CustomAction:Wix4ExecXmlFileRollback_X86\t11521\tWix4UtilCA_X86\tExecXmlFileRollback\t", | 123 | "CustomAction:Wix4ExecXmlFileRollback_A64\t11521\tWix4UtilCA_A64\tExecXmlFileRollback\t", |
124 | "CustomAction:Wix4RegisterEventManifest_X86\t3073\tWix4UtilCA_X86\tCAQuietExec\t", | 124 | "CustomAction:Wix4RegisterEventManifest_A64\t3073\tWix4UtilCA_A64\tCAQuietExec\t", |
125 | "CustomAction:Wix4RollbackRegisterEventManifest_X86\t3393\tWix4UtilCA_X86\tCAQuietExec\t", | 125 | "CustomAction:Wix4RollbackRegisterEventManifest_A64\t3393\tWix4UtilCA_A64\tCAQuietExec\t", |
126 | "CustomAction:Wix4RollbackUnregisterEventManifest_X86\t3329\tWix4UtilCA_X86\tCAQuietExec\t", | 126 | "CustomAction:Wix4RollbackUnregisterEventManifest_A64\t3329\tWix4UtilCA_A64\tCAQuietExec\t", |
127 | "CustomAction:Wix4SchedXmlFile_X86\t1\tWix4UtilCA_X86\tSchedXmlFile\t", | 127 | "CustomAction:Wix4SchedXmlFile_A64\t1\tWix4UtilCA_A64\tSchedXmlFile\t", |
128 | "CustomAction:Wix4UnregisterEventManifest_X86\t3137\tWix4UtilCA_X86\tCAQuietExec\t", | 128 | "CustomAction:Wix4UnregisterEventManifest_A64\t3137\tWix4UtilCA_A64\tCAQuietExec\t", |
129 | "Wix4EventManifest:Manifest.dll\t[#Manifest.dll]", | 129 | "Wix4EventManifest:Manifest.dll\t[#Manifest.dll]", |
130 | "Wix4XmlFile:Config_Manifest.dllMessageFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@messageFileName[\\]]\tmessageFileName\t[Manifest.dll]\t4100\tManifest.dll\t", | 130 | "Wix4XmlFile:Config_Manifest.dllMessageFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@messageFileName[\\]]\tmessageFileName\t[Manifest.dll]\t4100\tManifest.dll\t", |
131 | "Wix4XmlFile:Config_Manifest.dllResourceFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@resourceFileName[\\]]\tresourceFileName\t[Manifest.dll]\t4100\tManifest.dll\t", | 131 | "Wix4XmlFile:Config_Manifest.dllResourceFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@resourceFileName[\\]]\tresourceFileName\t[Manifest.dll]\t4100\tManifest.dll\t", |
@@ -203,5 +203,15 @@ namespace WixToolsetTest.Util | |||
203 | var result = WixRunner.Execute(newArgs.ToArray()); | 203 | var result = WixRunner.Execute(newArgs.ToArray()); |
204 | result.AssertSuccess(); | 204 | result.AssertSuccess(); |
205 | } | 205 | } |
206 | |||
207 | private static void BuildARM64(string[] args) | ||
208 | { | ||
209 | var newArgs = args.ToList(); | ||
210 | newArgs.Add("-platform"); | ||
211 | newArgs.Add("arm64"); | ||
212 | |||
213 | var result = WixRunner.Execute(newArgs.ToArray()); | ||
214 | result.AssertSuccess(); | ||
215 | } | ||
206 | } | 216 | } |
207 | } | 217 | } |
diff --git a/src/wixext/UtilCompiler.cs b/src/wixext/UtilCompiler.cs index 672c3f68..273a03c7 100644 --- a/src/wixext/UtilCompiler.cs +++ b/src/wixext/UtilCompiler.cs | |||
@@ -875,7 +875,7 @@ namespace WixToolset.Util | |||
875 | 875 | ||
876 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 876 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
877 | 877 | ||
878 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "CloseApplications", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 878 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "CloseApplications", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
879 | 879 | ||
880 | if (!this.Messaging.EncounteredError) | 880 | if (!this.Messaging.EncounteredError) |
881 | { | 881 | { |
@@ -1181,8 +1181,8 @@ namespace WixToolset.Util | |||
1181 | } | 1181 | } |
1182 | } | 1182 | } |
1183 | 1183 | ||
1184 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbInstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 1184 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbInstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
1185 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbUninstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 1185 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbUninstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
1186 | 1186 | ||
1187 | if (!this.Messaging.EncounteredError) | 1187 | if (!this.Messaging.EncounteredError) |
1188 | { | 1188 | { |
@@ -1489,7 +1489,7 @@ namespace WixToolset.Util | |||
1489 | IconIndex = iconIndex, | 1489 | IconIndex = iconIndex, |
1490 | }); | 1490 | }); |
1491 | 1491 | ||
1492 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedInternetShortcuts", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 1492 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedInternetShortcuts", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
1493 | 1493 | ||
1494 | // make sure we have a CreateFolder table so that the immediate CA can add temporary rows to handle installation and uninstallation | 1494 | // make sure we have a CreateFolder table so that the immediate CA can add temporary rows to handle installation and uninstallation |
1495 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "CreateFolder"); | 1495 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "CreateFolder"); |
@@ -1677,8 +1677,8 @@ namespace WixToolset.Util | |||
1677 | this.ParseHelper.CreateRegistryTuple(section, sourceLineNumbers, RegistryRootType.LocalMachine, performanceKey, "Counter Types", sbCounterTypes.ToString(), componentId, false); | 1677 | this.ParseHelper.CreateRegistryTuple(section, sourceLineNumbers, RegistryRootType.LocalMachine, performanceKey, "Counter Types", sbCounterTypes.ToString(), componentId, false); |
1678 | } | 1678 | } |
1679 | 1679 | ||
1680 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 1680 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
1681 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 1681 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
1682 | } | 1682 | } |
1683 | 1683 | ||
1684 | /// <summary> | 1684 | /// <summary> |
@@ -2156,8 +2156,8 @@ namespace WixToolset.Util | |||
2156 | }); | 2156 | }); |
2157 | } | 2157 | } |
2158 | 2158 | ||
2159 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonInstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2159 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonInstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2160 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonUninstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2160 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonUninstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2161 | } | 2161 | } |
2162 | 2162 | ||
2163 | 2163 | ||
@@ -2204,8 +2204,8 @@ namespace WixToolset.Util | |||
2204 | }); | 2204 | }); |
2205 | } | 2205 | } |
2206 | 2206 | ||
2207 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestRegister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2207 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestRegister", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2208 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestUnregister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2208 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestUnregister", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2209 | } | 2209 | } |
2210 | 2210 | ||
2211 | /// <summary> | 2211 | /// <summary> |
@@ -2248,7 +2248,7 @@ namespace WixToolset.Util | |||
2248 | 2248 | ||
2249 | if (!this.Messaging.EncounteredError) | 2249 | if (!this.Messaging.EncounteredError) |
2250 | { | 2250 | { |
2251 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedFormatFiles", this.Context.Platform, CustomActionPlatforms.X64 | CustomActionPlatforms.X86); | 2251 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedFormatFiles", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2252 | 2252 | ||
2253 | section.AddTuple(new WixFormatFilesTuple(sourceLineNumbers) | 2253 | section.AddTuple(new WixFormatFilesTuple(sourceLineNumbers) |
2254 | { | 2254 | { |
@@ -2348,8 +2348,8 @@ namespace WixToolset.Util | |||
2348 | 2348 | ||
2349 | } | 2349 | } |
2350 | 2350 | ||
2351 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestRegister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2351 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestRegister", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2352 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestUnregister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2352 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestUnregister", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2353 | 2353 | ||
2354 | if (null != messageFile || null != parameterFile || null != resourceFile) | 2354 | if (null != messageFile || null != parameterFile || null != resourceFile) |
2355 | { | 2355 | { |
@@ -2460,7 +2460,7 @@ namespace WixToolset.Util | |||
2460 | 2460 | ||
2461 | if (!this.Messaging.EncounteredError) | 2461 | if (!this.Messaging.EncounteredError) |
2462 | { | 2462 | { |
2463 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedSecureObjects", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X64 | CustomActionPlatforms.X86); | 2463 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedSecureObjects", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2464 | 2464 | ||
2465 | var id = this.ParseHelper.CreateIdentifier("sec", objectId, tableName, domain, user); | 2465 | var id = this.ParseHelper.CreateIdentifier("sec", objectId, tableName, domain, user); |
2466 | section.AddTuple(new SecureObjectsTuple(sourceLineNumbers, id) | 2466 | section.AddTuple(new SecureObjectsTuple(sourceLineNumbers, id) |
@@ -2809,7 +2809,7 @@ namespace WixToolset.Util | |||
2809 | 2809 | ||
2810 | if (!this.Messaging.EncounteredError) | 2810 | if (!this.Messaging.EncounteredError) |
2811 | { | 2811 | { |
2812 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RemoveFoldersEx", this.Context.Platform, CustomActionPlatforms.X86); | 2812 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RemoveFoldersEx", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2813 | 2813 | ||
2814 | section.AddTuple(new WixRemoveFolderExTuple(sourceLineNumbers, id) | 2814 | section.AddTuple(new WixRemoveFolderExTuple(sourceLineNumbers, id) |
2815 | { | 2815 | { |
@@ -2885,7 +2885,7 @@ namespace WixToolset.Util | |||
2885 | 2885 | ||
2886 | if (!this.Messaging.EncounteredError) | 2886 | if (!this.Messaging.EncounteredError) |
2887 | { | 2887 | { |
2888 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RegisterRestartResources", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2888 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RegisterRestartResources", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2889 | 2889 | ||
2890 | section.AddTuple(new WixRestartResourceTuple(sourceLineNumbers, id) | 2890 | section.AddTuple(new WixRestartResourceTuple(sourceLineNumbers, id) |
2891 | { | 2891 | { |
@@ -2977,7 +2977,7 @@ namespace WixToolset.Util | |||
2977 | 2977 | ||
2978 | if (!this.Messaging.EncounteredError) | 2978 | if (!this.Messaging.EncounteredError) |
2979 | { | 2979 | { |
2980 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedServiceConfig", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 2980 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedServiceConfig", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
2981 | 2981 | ||
2982 | section.AddTuple(new ServiceConfigTuple(sourceLineNumbers) | 2982 | section.AddTuple(new ServiceConfigTuple(sourceLineNumbers) |
2983 | { | 2983 | { |
@@ -3081,7 +3081,7 @@ namespace WixToolset.Util | |||
3081 | Attributes = attributes, | 3081 | Attributes = attributes, |
3082 | }); | 3082 | }); |
3083 | 3083 | ||
3084 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "TouchFileDuringInstall", this.Context.Platform, CustomActionPlatforms.X86); | 3084 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "TouchFileDuringInstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
3085 | } | 3085 | } |
3086 | } | 3086 | } |
3087 | 3087 | ||
@@ -3285,7 +3285,7 @@ namespace WixToolset.Util | |||
3285 | 3285 | ||
3286 | if (null != componentId) | 3286 | if (null != componentId) |
3287 | { | 3287 | { |
3288 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureUsers", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 3288 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureUsers", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
3289 | } | 3289 | } |
3290 | 3290 | ||
3291 | if (!this.Messaging.EncounteredError) | 3291 | if (!this.Messaging.EncounteredError) |
@@ -3669,7 +3669,7 @@ namespace WixToolset.Util | |||
3669 | } | 3669 | } |
3670 | } | 3670 | } |
3671 | 3671 | ||
3672 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlConfig", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 3672 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlConfig", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
3673 | } | 3673 | } |
3674 | 3674 | ||
3675 | /// <summary> | 3675 | /// <summary> |
@@ -3720,7 +3720,7 @@ namespace WixToolset.Util | |||
3720 | 3720 | ||
3721 | private void AddReferenceToSchedXmlFile(SourceLineNumber sourceLineNumbers, IntermediateSection section) | 3721 | private void AddReferenceToSchedXmlFile(SourceLineNumber sourceLineNumbers, IntermediateSection section) |
3722 | { | 3722 | { |
3723 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlFile", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | 3723 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlFile", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
3724 | } | 3724 | } |
3725 | 3725 | ||
3726 | /// <summary> | 3726 | /// <summary> |
diff --git a/src/wixlib/UtilExtension.wxs b/src/wixlib/UtilExtension.wxs index 50828416..62d9e37a 100644 --- a/src/wixlib/UtilExtension.wxs +++ b/src/wixlib/UtilExtension.wxs | |||
@@ -63,62 +63,6 @@ | |||
63 | </UI> | 63 | </UI> |
64 | </Fragment> | 64 | </Fragment> |
65 | 65 | ||
66 | <Fragment> | ||
67 | <CustomAction Id="$(var.Prefix)FailWhenDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixFailWhenDeferred" Execute="deferred" Return="check" SuppressModularization="yes" /> | ||
68 | |||
69 | <InstallExecuteSequence> | ||
70 | <Custom Action="$(var.Prefix)FailWhenDeferred$(var.Suffix)" Before="InstallFinalize" Overridable="yes">WIXFAILWHENDEFERRED=1 AND VersionNT > 400</Custom> | ||
71 | </InstallExecuteSequence> | ||
72 | </Fragment> | ||
73 | |||
74 | <Fragment> | ||
75 | <CustomAction Id="$(var.Prefix)WaitForEvent$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
76 | |||
77 | <InstallExecuteSequence> | ||
78 | <Custom Action="$(var.Prefix)WaitForEvent$(var.Suffix)" Before="InstallFinalize" Overridable="yes" /> | ||
79 | </InstallExecuteSequence> | ||
80 | </Fragment> | ||
81 | |||
82 | <Fragment> | ||
83 | <CustomAction Id="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="deferred" Return="check" SuppressModularization="yes" /> | ||
84 | |||
85 | <InstallExecuteSequence> | ||
86 | <Custom Action="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" After="InstallInitialize" Overridable="yes" /> | ||
87 | </InstallExecuteSequence> | ||
88 | </Fragment> | ||
89 | |||
90 | <Fragment> | ||
91 | <CustomAction Id="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExitEarlyWithSuccess" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
92 | |||
93 | <InstallExecuteSequence> | ||
94 | <Custom Action="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" After="FindRelatedProducts" Overridable="yes">NEWERVERSIONDETECTED AND VersionNT > 400</Custom> | ||
95 | </InstallExecuteSequence> | ||
96 | </Fragment> | ||
97 | |||
98 | <Fragment> | ||
99 | <CustomAction Id="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRemoveFoldersEx" Execute="immediate" Return="ignore" /> | ||
100 | |||
101 | <InstallExecuteSequence> | ||
102 | <Custom Action="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" Before="CostInitialize" /> | ||
103 | </InstallExecuteSequence> | ||
104 | </Fragment> | ||
105 | |||
106 | <Fragment> | ||
107 | <CustomAction Id="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastSettingChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> | ||
108 | |||
109 | <InstallExecuteSequence> | ||
110 | <Custom Action="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" /> | ||
111 | </InstallExecuteSequence> | ||
112 | </Fragment> | ||
113 | |||
114 | <Fragment> | ||
115 | <CustomAction Id="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastEnvironmentChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> | ||
116 | |||
117 | <InstallExecuteSequence> | ||
118 | <Custom Action="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" /> | ||
119 | </InstallExecuteSequence> | ||
120 | </Fragment> | ||
121 | |||
122 | <!-- WiX OS-detection properties and custom action --> | 66 | <!-- WiX OS-detection properties and custom action --> |
123 | <Fragment> | 67 | <Fragment> |
124 | <CustomAction Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> | 68 | <CustomAction Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> |
@@ -382,43 +326,6 @@ | |||
382 | <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" /> | 326 | <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" /> |
383 | </Fragment> | 327 | </Fragment> |
384 | 328 | ||
385 | <!-- ShellExec custom actions (for when only one is needed; multiple executions need their own IDs) --> | ||
386 | <Fragment> | ||
387 | <PropertyRef Id="WixShellExecBinaryId" /> | ||
388 | <CustomAction Id="$(var.Prefix)ShellExecBinary$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExecBinary" Execute="immediate" Return="check" Impersonate="yes" /> | ||
389 | </Fragment> | ||
390 | |||
391 | <Fragment> | ||
392 | <PropertyRef Id="WixShellExecTarget" /> | ||
393 | <CustomAction Id="$(var.Prefix)ShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" /> | ||
394 | </Fragment> | ||
395 | |||
396 | <Fragment> | ||
397 | <PropertyRef Id="WixUnelevatedShellExecTarget" /> | ||
398 | <CustomAction Id="$(var.Prefix)UnelevatedShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixUnelevatedShellExec" Execute="immediate" Return="check" Impersonate="yes" /> | ||
399 | </Fragment> | ||
400 | |||
401 | <Fragment> | ||
402 | <PropertyRef Id="WixQuietExecCmdLine" /> | ||
403 | <CustomAction Id="$(var.Prefix)QuietExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec" Execute="immediate" Return="check" Impersonate="yes" /> | ||
404 | </Fragment> | ||
405 | |||
406 | <Fragment> | ||
407 | <PropertyRef Id="WixQuietExec64CmdLine" /> | ||
408 | <CustomAction Id="$(var.Prefix)QuietExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec64" Execute="immediate" Return="check" Impersonate="yes" /> | ||
409 | </Fragment> | ||
410 | |||
411 | <!-- SilentExec custom actions differ from QtExec in that they do not log the commandline or output of the exe --> | ||
412 | <Fragment> | ||
413 | <PropertyRef Id="WixSilentExecCmdLine" /> | ||
414 | <CustomAction Id="$(var.Prefix)SilentExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec" Execute="immediate" Return="check" Impersonate="yes" /> | ||
415 | </Fragment> | ||
416 | |||
417 | <Fragment> | ||
418 | <PropertyRef Id="WixSilentExec64CmdLine" /> | ||
419 | <CustomAction Id="$(var.Prefix)SilentExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec64" Execute="immediate" Return="check" Impersonate="yes" /> | ||
420 | </Fragment> | ||
421 | |||
422 | <Fragment> | 329 | <Fragment> |
423 | <BundleExtension Id="WixUtilBundleExtension" SourceFile="utilbe.dll" Name="WixUtilBundleExtension\utilbe.dll" /> | 330 | <BundleExtension Id="WixUtilBundleExtension" SourceFile="utilbe.dll" Name="WixUtilBundleExtension\utilbe.dll" /> |
424 | </Fragment> | 331 | </Fragment> |
diff --git a/src/wixlib/UtilExtension_Platform.wxi b/src/wixlib/UtilExtension_Platform.wxi index 0d7fed09..c557e04b 100644 --- a/src/wixlib/UtilExtension_Platform.wxi +++ b/src/wixlib/UtilExtension_Platform.wxi | |||
@@ -3,221 +3,303 @@ | |||
3 | 3 | ||
4 | 4 | ||
5 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | 5 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> |
6 | <?include caDecor.wxi ?> | 6 | <?include caDecor.wxi ?> |
7 | 7 | ||
8 | <!-- | 8 | <Fragment> |
9 | The following actions do not support X64. | 9 | <CustomAction Id="$(var.Prefix)FailWhenDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixFailWhenDeferred" Execute="deferred" Return="check" SuppressModularization="yes" /> |
10 | --> | 10 | |
11 | <?if $(var.platform)!=x64 ?> | 11 | <InstallExecuteSequence> |
12 | 12 | <Custom Action="$(var.Prefix)FailWhenDeferred$(var.Suffix)" Before="InstallFinalize" Overridable="yes">WIXFAILWHENDEFERRED=1 AND VersionNT > 400</Custom> | |
13 | <Fragment> | 13 | </InstallExecuteSequence> |
14 | <CustomAction Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCheckRebootRequired" Execute="immediate" Return="ignore" SuppressModularization="yes" /> | 14 | </Fragment> |
15 | 15 | ||
16 | <InstallExecuteSequence> | 16 | <Fragment> |
17 | <!-- Condition this so it runs on install and MMode, but not uninstall --> | 17 | <CustomAction Id="$(var.Prefix)WaitForEvent$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="immediate" Return="check" SuppressModularization="yes" /> |
18 | <Custom Action="$(var.Prefix)CheckRebootRequired$(var.Suffix)" After="InstallFinalize" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> | 18 | |
19 | </InstallExecuteSequence> | 19 | <InstallExecuteSequence> |
20 | </Fragment> | 20 | <Custom Action="$(var.Prefix)WaitForEvent$(var.Suffix)" Before="InstallFinalize" Overridable="yes" /> |
21 | 21 | </InstallExecuteSequence> | |
22 | <Fragment> | 22 | </Fragment> |
23 | <CustomAction Id="$(var.Prefix)CloseApplications$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplications" Execute="immediate" Return="check" SuppressModularization="yes" /> | 23 | |
24 | <CustomAction Id="$(var.Prefix)CloseApplicationsDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplicationsDeferred" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 24 | <Fragment> |
25 | <CustomActionRef Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" /> | 25 | <CustomAction Id="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="deferred" Return="check" SuppressModularization="yes" /> |
26 | 26 | ||
27 | <InstallExecuteSequence> | 27 | <InstallExecuteSequence> |
28 | <Custom Action="$(var.Prefix)CloseApplications$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 400</Custom> | 28 | <Custom Action="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" After="InstallInitialize" Overridable="yes" /> |
29 | </InstallExecuteSequence> | 29 | </InstallExecuteSequence> |
30 | </Fragment> | 30 | </Fragment> |
31 | 31 | ||
32 | <Fragment> | 32 | <Fragment> |
33 | <CustomAction Id="$(var.Prefix)RegisterRestartResources$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRegisterRestartResources$(var.Suffix)" Execute="immediate" Return="check" SuppressModularization="yes" /> | 33 | <CustomAction Id="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExitEarlyWithSuccess" Execute="immediate" Return="check" SuppressModularization="yes" /> |
34 | 34 | ||
35 | <InstallExecuteSequence> | 35 | <InstallExecuteSequence> |
36 | <Custom Action="$(var.Prefix)RegisterRestartResources$(var.Suffix)" Before="InstallValidate" Overridable="yes" /> | 36 | <Custom Action="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" After="FindRelatedProducts" Overridable="yes">NEWERVERSIONDETECTED AND VersionNT > 400</Custom> |
37 | </InstallExecuteSequence> | 37 | </InstallExecuteSequence> |
38 | </Fragment> | 38 | </Fragment> |
39 | 39 | ||
40 | <Fragment> | 40 | <Fragment> |
41 | <UIRef Id="ConfigureUsersErrorText" /> | 41 | <CustomAction Id="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRemoveFoldersEx" Execute="immediate" Return="ignore" /> |
42 | 42 | ||
43 | <CustomAction Id="$(var.Prefix)ConfigureUsers$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureUsers" Execute="immediate" Return="check" SuppressModularization="yes" /> | 43 | <InstallExecuteSequence> |
44 | <CustomAction Id="$(var.Prefix)CreateUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateUser" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 44 | <Custom Action="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" Before="CostInitialize" /> |
45 | <CustomAction Id="$(var.Prefix)CreateUserRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 45 | </InstallExecuteSequence> |
46 | <!-- RemoveUser is a type commit action because it is not possible to rollback the removal of a user --> | 46 | </Fragment> |
47 | <CustomAction Id="$(var.Prefix)RemoveUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="commit" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> | 47 | |
48 | 48 | <Fragment> | |
49 | <InstallExecuteSequence> | 49 | <CustomAction Id="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastSettingChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> |
50 | <Custom Action="$(var.Prefix)ConfigureUsers$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 400</Custom> | 50 | |
51 | </InstallExecuteSequence> | 51 | <InstallExecuteSequence> |
52 | </Fragment> | 52 | <Custom Action="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" /> |
53 | 53 | </InstallExecuteSequence> | |
54 | <Fragment> | 54 | </Fragment> |
55 | <UIRef Id="ConfigureSmbErrorsText" /> | 55 | |
56 | 56 | <Fragment> | |
57 | <CustomAction Id="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 57 | <CustomAction Id="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastEnvironmentChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> |
58 | <CustomAction Id="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 58 | |
59 | <CustomAction Id="$(var.Prefix)CreateSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 59 | <InstallExecuteSequence> |
60 | <CustomAction Id="$(var.Prefix)CreateSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> | 60 | <Custom Action="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" /> |
61 | <CustomAction Id="$(var.Prefix)DropSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 61 | </InstallExecuteSequence> |
62 | <CustomAction Id="$(var.Prefix)DropSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> | 62 | </Fragment> |
63 | 63 | ||
64 | <InstallExecuteSequence> | 64 | <!-- ShellExec custom actions (for when only one is needed; multiple executions need their own IDs) --> |
65 | <Custom Action="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> | 65 | <Fragment> |
66 | <Custom Action="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT > 400</Custom> | 66 | <PropertyRef Id="WixShellExecBinaryId" /> |
67 | </InstallExecuteSequence> | 67 | <CustomAction Id="$(var.Prefix)ShellExecBinary$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExecBinary" Execute="immediate" Return="check" Impersonate="yes" /> |
68 | </Fragment> | 68 | </Fragment> |
69 | 69 | ||
70 | <Fragment> | 70 | <Fragment> |
71 | <UIRef Id="PerCounterDataErrorsText" /> | 71 | <PropertyRef Id="WixShellExecTarget" /> |
72 | 72 | <CustomAction Id="$(var.Prefix)ShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" /> | |
73 | <CustomAction Id="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="InstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> | 73 | </Fragment> |
74 | <CustomAction Id="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UninstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> | 74 | |
75 | <CustomAction Id="$(var.Prefix)RegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 75 | <Fragment> |
76 | <CustomAction Id="$(var.Prefix)UnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 76 | <PropertyRef Id="WixUnelevatedShellExecTarget" /> |
77 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 77 | <CustomAction Id="$(var.Prefix)UnelevatedShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixUnelevatedShellExec" Execute="immediate" Return="check" Impersonate="yes" /> |
78 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 78 | </Fragment> |
79 | 79 | ||
80 | <InstallExecuteSequence> | 80 | <Fragment> |
81 | <Custom Action="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 81 | <PropertyRef Id="WixQuietExecCmdLine" /> |
82 | <Custom Action="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 82 | <CustomAction Id="$(var.Prefix)QuietExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec" Execute="immediate" Return="check" Impersonate="yes" /> |
83 | </InstallExecuteSequence> | 83 | </Fragment> |
84 | </Fragment> | 84 | |
85 | 85 | <Fragment> | |
86 | <Fragment> | 86 | <PropertyRef Id="WixQuietExec64CmdLine" /> |
87 | <UIRef Id="ConfigurePerfmonErrorsText" /> | 87 | <CustomAction Id="$(var.Prefix)QuietExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec64" Execute="immediate" Return="check" Impersonate="yes" /> |
88 | 88 | </Fragment> | |
89 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 89 | |
90 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 90 | <!-- SilentExec custom actions differ from QtExec in that they do not log the commandline or output of the exe --> |
91 | <CustomAction Id="$(var.Prefix)RegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 91 | <Fragment> |
92 | <CustomAction Id="$(var.Prefix)UnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 92 | <PropertyRef Id="WixSilentExecCmdLine" /> |
93 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | 93 | <CustomAction Id="$(var.Prefix)SilentExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec" Execute="immediate" Return="check" Impersonate="yes" /> |
94 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | 94 | </Fragment> |
95 | 95 | ||
96 | <InstallExecuteSequence> | 96 | <Fragment> |
97 | <Custom Action="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 97 | <PropertyRef Id="WixSilentExec64CmdLine" /> |
98 | <Custom Action="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 98 | <CustomAction Id="$(var.Prefix)SilentExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec64" Execute="immediate" Return="check" Impersonate="yes" /> |
99 | </InstallExecuteSequence> | 99 | </Fragment> |
100 | </Fragment> | 100 | |
101 | 101 | <Fragment> | |
102 | <Fragment> | 102 | <CustomAction Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCheckRebootRequired" Execute="immediate" Return="ignore" SuppressModularization="yes" /> |
103 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> | 103 | |
104 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> | 104 | <InstallExecuteSequence> |
105 | <CustomAction Id="$(var.Prefix)RegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 105 | <!-- Condition this so it runs on install and MMode, but not uninstall --> |
106 | <CustomAction Id="$(var.Prefix)UnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> | 106 | <Custom Action="$(var.Prefix)CheckRebootRequired$(var.Suffix)" After="InstallFinalize" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> |
107 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> | 107 | </InstallExecuteSequence> |
108 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | 108 | </Fragment> |
109 | 109 | ||
110 | <InstallExecuteSequence> | 110 | <Fragment> |
111 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> | 111 | <CustomAction Id="$(var.Prefix)CloseApplications$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplications" Execute="immediate" Return="check" SuppressModularization="yes" /> |
112 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 112 | <CustomAction Id="$(var.Prefix)CloseApplicationsDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplicationsDeferred" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> |
113 | </InstallExecuteSequence> | 113 | <CustomActionRef Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" /> |
114 | </Fragment> | 114 | |
115 | 115 | <InstallExecuteSequence> | |
116 | <Fragment> | 116 | <Custom Action="$(var.Prefix)CloseApplications$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
117 | <CustomAction Id="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> | 117 | </InstallExecuteSequence> |
118 | <CustomAction Id="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> | 118 | </Fragment> |
119 | <CustomAction Id="$(var.Prefix)RegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 119 | |
120 | <CustomAction Id="$(var.Prefix)UnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> | 120 | <Fragment> |
121 | <CustomAction Id="$(var.Prefix)RollbackRegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> | 121 | <CustomAction Id="$(var.Prefix)RegisterRestartResources$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRegisterRestartResources$(var.Suffix)" Execute="immediate" Return="check" SuppressModularization="yes" /> |
122 | <CustomAction Id="$(var.Prefix)RollbackUnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | 122 | |
123 | 123 | <InstallExecuteSequence> | |
124 | <InstallExecuteSequence> | 124 | <Custom Action="$(var.Prefix)RegisterRestartResources$(var.Suffix)" Before="InstallValidate" Overridable="yes" /> |
125 | <Custom Action="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" After="$(var.Prefix)SchedXmlFile$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> | 125 | </InstallExecuteSequence> |
126 | <Custom Action="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 126 | </Fragment> |
127 | </InstallExecuteSequence> | 127 | |
128 | </Fragment> | 128 | <Fragment> |
129 | 129 | <UIRef Id="ConfigureUsersErrorText" /> | |
130 | <Fragment> | 130 | |
131 | <CustomAction Id="$(var.Prefix)SchedServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedServiceConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> | 131 | <CustomAction Id="$(var.Prefix)ConfigureUsers$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureUsers" Execute="immediate" Return="check" SuppressModularization="yes" /> |
132 | <CustomAction Id="$(var.Prefix)ExecServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecServiceConfig" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> | 132 | <CustomAction Id="$(var.Prefix)CreateUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateUser" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
133 | <CustomAction Id="$(var.Prefix)RollbackServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RollbackServiceConfig" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> | 133 | <CustomAction Id="$(var.Prefix)CreateUserRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
134 | 134 | <!-- RemoveUser is a type commit action because it is not possible to rollback the removal of a user --> | |
135 | <InstallExecuteSequence> | 135 | <CustomAction Id="$(var.Prefix)RemoveUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="commit" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> |
136 | <!-- Condition this so it runs on install and MMode, but not uninstall --> | 136 | |
137 | <Custom Action="$(var.Prefix)SchedServiceConfig$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> | 137 | <InstallExecuteSequence> |
138 | </InstallExecuteSequence> | 138 | <Custom Action="$(var.Prefix)ConfigureUsers$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
139 | </Fragment> | 139 | </InstallExecuteSequence> |
140 | 140 | </Fragment> | |
141 | <Fragment> | 141 | |
142 | <CustomAction Id="$(var.Prefix)TouchFileDuringInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 142 | <Fragment> |
143 | <CustomAction Id="$(var.Prefix)TouchFileDuringUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | 143 | <UIRef Id="ConfigureSmbErrorsText" /> |
144 | <CustomAction Id="$(var.Prefix)ExecuteTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> | 144 | |
145 | <CustomAction Id="$(var.Prefix)RollbackTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> | 145 | <CustomAction Id="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> |
146 | 146 | <CustomAction Id="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | |
147 | <InstallExecuteSequence> | 147 | <CustomAction Id="$(var.Prefix)CreateSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
148 | <Custom Action="$(var.Prefix)TouchFileDuringUninstall" Before="RemoveFiles" Overridable="yes" /> | 148 | <CustomAction Id="$(var.Prefix)CreateSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> |
149 | <Custom Action="$(var.Prefix)TouchFileDuringInstall" After="InstallFiles" Overridable="yes" /> | 149 | <CustomAction Id="$(var.Prefix)DropSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
150 | </InstallExecuteSequence> | 150 | <CustomAction Id="$(var.Prefix)DropSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> |
151 | </Fragment> | 151 | |
152 | 152 | <InstallExecuteSequence> | |
153 | <Fragment> | 153 | <Custom Action="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
154 | <UIRef Id="XmlFileErrorsText" /> | 154 | <Custom Action="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT > 400</Custom> |
155 | 155 | </InstallExecuteSequence> | |
156 | <CustomAction Id="$(var.Prefix)SchedXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlFile" Execute="immediate" Return="check" SuppressModularization="yes" /> | 156 | </Fragment> |
157 | <CustomAction Id="$(var.Prefix)ExecXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFile" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 157 | |
158 | <CustomAction Id="$(var.Prefix)ExecXmlFileRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFileRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 158 | <Fragment> |
159 | 159 | <UIRef Id="PerCounterDataErrorsText" /> | |
160 | <InstallExecuteSequence> | 160 | |
161 | <Custom Action="$(var.Prefix)SchedXmlFile$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 400</Custom> | 161 | <CustomAction Id="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="InstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> |
162 | </InstallExecuteSequence> | 162 | <CustomAction Id="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UninstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> |
163 | </Fragment> | 163 | <CustomAction Id="$(var.Prefix)RegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
164 | 164 | <CustomAction Id="$(var.Prefix)UnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> | |
165 | <Fragment> | 165 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
166 | <UIRef Id="XmlConfigErrorsText" /> | 166 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> |
167 | 167 | ||
168 | <CustomAction Id="$(var.Prefix)SchedXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> | 168 | <InstallExecuteSequence> |
169 | <CustomAction Id="$(var.Prefix)ExecXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfig" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 169 | <Custom Action="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
170 | <CustomAction Id="$(var.Prefix)ExecXmlConfigRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfigRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 170 | <Custom Action="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
171 | 171 | </InstallExecuteSequence> | |
172 | <InstallExecuteSequence> | 172 | </Fragment> |
173 | <Custom Action="$(var.Prefix)SchedXmlConfig$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 400</Custom> | 173 | |
174 | </InstallExecuteSequence> | 174 | <Fragment> |
175 | </Fragment> | 175 | <UIRef Id="ConfigurePerfmonErrorsText" /> |
176 | 176 | ||
177 | <Fragment> | 177 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> |
178 | <CustomAction Id="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedInternetShortcuts" Execute="immediate" Return="check" SuppressModularization="yes" /> | 178 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> |
179 | <CustomAction Id="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRollbackInternetShortcuts" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | 179 | <CustomAction Id="$(var.Prefix)RegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> |
180 | <CustomAction Id="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCreateInternetShortcuts" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | 180 | <CustomAction Id="$(var.Prefix)UnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> |
181 | 181 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | |
182 | <InstallExecuteSequence> | 182 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> |
183 | <Custom Action="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" Before="RemoveFolders" Overridable="yes">VersionNT > 400</Custom> | 183 | |
184 | <Custom Action="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" Before="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> | 184 | <InstallExecuteSequence> |
185 | <Custom Action="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" After="CreateShortcuts" Overridable="yes">VersionNT > 400</Custom> | 185 | <Custom Action="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
186 | </InstallExecuteSequence> | 186 | <Custom Action="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
187 | </Fragment> | 187 | </InstallExecuteSequence> |
188 | 188 | </Fragment> | |
189 | <?endif ?> | 189 | |
190 | 190 | <Fragment> | |
191 | 191 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> | |
192 | <!-- | 192 | <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> |
193 | The following actions do support all platforms. | 193 | <CustomAction Id="$(var.Prefix)RegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> |
194 | --> | 194 | <CustomAction Id="$(var.Prefix)UnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> |
195 | <Fragment> | 195 | <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> |
196 | <UIRef Id="SecureObjectsErrors" /> | 196 | <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> |
197 | 197 | ||
198 | <CustomAction Id="$(var.Prefix)SchedSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjects" Execute="immediate" Return="check" SuppressModularization="yes" /> | 198 | <InstallExecuteSequence> |
199 | <CustomAction Id="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjectsRollback" Execute="immediate" Return="check" SuppressModularization="yes" /> | 199 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
200 | <CustomAction Id="$(var.Prefix)ExecSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjects" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 200 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
201 | <CustomAction Id="$(var.Prefix)ExecSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjectsRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | 201 | </InstallExecuteSequence> |
202 | 202 | </Fragment> | |
203 | <InstallExecuteSequence> | 203 | |
204 | <!-- Condition this so it runs on install and MMode, but not uninstall --> | 204 | <Fragment> |
205 | <Custom Action="$(var.Prefix)SchedSecureObjects$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> | 205 | <CustomAction Id="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> |
206 | <Custom Action="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT > 400</Custom> | 206 | <CustomAction Id="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> |
207 | </InstallExecuteSequence> | 207 | <CustomAction Id="$(var.Prefix)RegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> |
208 | </Fragment> | 208 | <CustomAction Id="$(var.Prefix)UnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> |
209 | 209 | <CustomAction Id="$(var.Prefix)RollbackRegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> | |
210 | <Fragment> | 210 | <CustomAction Id="$(var.Prefix)RollbackUnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> |
211 | <CustomAction Id="$(var.Prefix)SchedFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedFormatFiles" Execute="immediate" Return="check" SuppressModularization="yes" /> | 211 | |
212 | <CustomAction Id="$(var.Prefix)ExecFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> | 212 | <InstallExecuteSequence> |
213 | <CustomAction Id="$(var.Prefix)RollbackFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> | 213 | <Custom Action="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" After="$(var.Prefix)SchedXmlFile$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> |
214 | 214 | <Custom Action="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | |
215 | <InstallExecuteSequence> | 215 | </InstallExecuteSequence> |
216 | <Custom Action="$(var.Prefix)SchedFormatFiles$(var.Suffix)" After="InstallFiles" /> | 216 | </Fragment> |
217 | </InstallExecuteSequence> | 217 | |
218 | </Fragment> | 218 | <Fragment> |
219 | 219 | <CustomAction Id="$(var.Prefix)SchedServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedServiceConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> | |
220 | <Fragment> | 220 | <CustomAction Id="$(var.Prefix)ExecServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecServiceConfig" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> |
221 | <Binary Id="$(var.Prefix)UtilCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))utilca.dll" /> | 221 | <CustomAction Id="$(var.Prefix)RollbackServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RollbackServiceConfig" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> |
222 | </Fragment> | 222 | |
223 | <InstallExecuteSequence> | ||
224 | <!-- Condition this so it runs on install and MMode, but not uninstall --> | ||
225 | <Custom Action="$(var.Prefix)SchedServiceConfig$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> | ||
226 | </InstallExecuteSequence> | ||
227 | </Fragment> | ||
228 | |||
229 | <Fragment> | ||
230 | <CustomAction Id="$(var.Prefix)TouchFileDuringInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
231 | <CustomAction Id="$(var.Prefix)TouchFileDuringUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
232 | <CustomAction Id="$(var.Prefix)ExecuteTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> | ||
233 | <CustomAction Id="$(var.Prefix)RollbackTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> | ||
234 | |||
235 | <InstallExecuteSequence> | ||
236 | <Custom Action="$(var.Prefix)TouchFileDuringUninstall" Before="RemoveFiles" Overridable="yes" /> | ||
237 | <Custom Action="$(var.Prefix)TouchFileDuringInstall" After="InstallFiles" Overridable="yes" /> | ||
238 | </InstallExecuteSequence> | ||
239 | </Fragment> | ||
240 | |||
241 | <Fragment> | ||
242 | <UIRef Id="XmlFileErrorsText" /> | ||
243 | |||
244 | <CustomAction Id="$(var.Prefix)SchedXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlFile" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
245 | <CustomAction Id="$(var.Prefix)ExecXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFile" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
246 | <CustomAction Id="$(var.Prefix)ExecXmlFileRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFileRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
247 | |||
248 | <InstallExecuteSequence> | ||
249 | <Custom Action="$(var.Prefix)SchedXmlFile$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 400</Custom> | ||
250 | </InstallExecuteSequence> | ||
251 | </Fragment> | ||
252 | |||
253 | <Fragment> | ||
254 | <UIRef Id="XmlConfigErrorsText" /> | ||
255 | |||
256 | <CustomAction Id="$(var.Prefix)SchedXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
257 | <CustomAction Id="$(var.Prefix)ExecXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfig" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
258 | <CustomAction Id="$(var.Prefix)ExecXmlConfigRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfigRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
259 | |||
260 | <InstallExecuteSequence> | ||
261 | <Custom Action="$(var.Prefix)SchedXmlConfig$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 400</Custom> | ||
262 | </InstallExecuteSequence> | ||
263 | </Fragment> | ||
264 | |||
265 | <Fragment> | ||
266 | <CustomAction Id="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedInternetShortcuts" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
267 | <CustomAction Id="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRollbackInternetShortcuts" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> | ||
268 | <CustomAction Id="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCreateInternetShortcuts" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> | ||
269 | |||
270 | <InstallExecuteSequence> | ||
271 | <Custom Action="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" Before="RemoveFolders" Overridable="yes">VersionNT > 400</Custom> | ||
272 | <Custom Action="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" Before="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> | ||
273 | <Custom Action="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" After="CreateShortcuts" Overridable="yes">VersionNT > 400</Custom> | ||
274 | </InstallExecuteSequence> | ||
275 | </Fragment> | ||
276 | |||
277 | <Fragment> | ||
278 | <UIRef Id="SecureObjectsErrors" /> | ||
279 | |||
280 | <CustomAction Id="$(var.Prefix)SchedSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjects" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
281 | <CustomAction Id="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjectsRollback" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
282 | <CustomAction Id="$(var.Prefix)ExecSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjects" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
283 | <CustomAction Id="$(var.Prefix)ExecSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjectsRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> | ||
284 | |||
285 | <InstallExecuteSequence> | ||
286 | <!-- Condition this so it runs on install and MMode, but not uninstall --> | ||
287 | <Custom Action="$(var.Prefix)SchedSecureObjects$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> | ||
288 | <Custom Action="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT > 400</Custom> | ||
289 | </InstallExecuteSequence> | ||
290 | </Fragment> | ||
291 | |||
292 | <Fragment> | ||
293 | <CustomAction Id="$(var.Prefix)SchedFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedFormatFiles" Execute="immediate" Return="check" SuppressModularization="yes" /> | ||
294 | <CustomAction Id="$(var.Prefix)ExecFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> | ||
295 | <CustomAction Id="$(var.Prefix)RollbackFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> | ||
296 | |||
297 | <InstallExecuteSequence> | ||
298 | <Custom Action="$(var.Prefix)SchedFormatFiles$(var.Suffix)" After="InstallFiles" /> | ||
299 | </InstallExecuteSequence> | ||
300 | </Fragment> | ||
301 | |||
302 | <Fragment> | ||
303 | <Binary Id="$(var.Prefix)UtilCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))utilca.dll" /> | ||
304 | </Fragment> | ||
223 | </Include> | 305 | </Include> |
diff --git a/src/wixlib/UtilExtension_arm.wxs b/src/wixlib/UtilExtension_arm.wxs new file mode 100644 index 00000000..c3ec27f7 --- /dev/null +++ b/src/wixlib/UtilExtension_arm.wxs | |||
@@ -0,0 +1,8 @@ | |||
1 | <?xml version="1.0"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=arm ?> | ||
7 | <?include UtilExtension_Platform.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/UtilExtension_arm64.wxs b/src/wixlib/UtilExtension_arm64.wxs new file mode 100644 index 00000000..1d552acf --- /dev/null +++ b/src/wixlib/UtilExtension_arm64.wxs | |||
@@ -0,0 +1,8 @@ | |||
1 | <?xml version="1.0"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=arm64 ?> | ||
7 | <?include UtilExtension_Platform.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/util.wixproj b/src/wixlib/util.wixproj index e3688adf..720b184b 100644 --- a/src/wixlib/util.wixproj +++ b/src/wixlib/util.wixproj | |||
@@ -14,6 +14,8 @@ | |||
14 | <Compile Include="UtilExtension.wxs" /> | 14 | <Compile Include="UtilExtension.wxs" /> |
15 | <Compile Include="UtilExtension_x86.wxs" /> | 15 | <Compile Include="UtilExtension_x86.wxs" /> |
16 | <Compile Include="UtilExtension_x64.wxs" /> | 16 | <Compile Include="UtilExtension_x64.wxs" /> |
17 | <Compile Include="UtilExtension_arm.wxs" /> | ||
18 | <Compile Include="UtilExtension_arm64.wxs" /> | ||
17 | <EmbeddedResource Include="en-us.wxl" /> | 19 | <EmbeddedResource Include="en-us.wxl" /> |
18 | <EmbeddedResource Include="de-de.wxl" /> | 20 | <EmbeddedResource Include="de-de.wxl" /> |
19 | <EmbeddedResource Include="es-es.wxl" /> | 21 | <EmbeddedResource Include="es-es.wxl" /> |
@@ -22,9 +24,26 @@ | |||
22 | <EmbeddedResource Include="pt-br.wxl" /> | 24 | <EmbeddedResource Include="pt-br.wxl" /> |
23 | <EmbeddedResource Include="it-it.wxl" /> | 25 | <EmbeddedResource Include="it-it.wxl" /> |
24 | </ItemGroup> | 26 | </ItemGroup> |
27 | |||
25 | <ItemGroup> | 28 | <ItemGroup> |
26 | <None Include="packages.config" /> | 29 | <None Include="packages.config" /> |
27 | </ItemGroup> | 30 | </ItemGroup> |
31 | |||
32 | <ItemGroup> | ||
33 | <BindInputPaths Include="$(OutputPath)Win32"> | ||
34 | <BindName>x86</BindName> | ||
35 | </BindInputPaths> | ||
36 | <BindInputPaths Include="$(OutputPath)x64)"> | ||
37 | <BindName>x64</BindName> | ||
38 | </BindInputPaths> | ||
39 | <BindInputPaths Include="$(OutputPath)arm)"> | ||
40 | <BindName>arm</BindName> | ||
41 | </BindInputPaths> | ||
42 | <BindInputPaths Include="$(OutputPath)arm64)"> | ||
43 | <BindName>arm64</BindName> | ||
44 | </BindInputPaths> | ||
45 | </ItemGroup> | ||
46 | |||
28 | <ItemGroup> | 47 | <ItemGroup> |
29 | <ProjectReference Include="..\be\utilbe.vcxproj"> | 48 | <ProjectReference Include="..\be\utilbe.vcxproj"> |
30 | <Name>utilbe</Name> | 49 | <Name>utilbe</Name> |
@@ -33,18 +52,38 @@ | |||
33 | <ProjectReference Include="..\ca\utilca.vcxproj"> | 52 | <ProjectReference Include="..\ca\utilca.vcxproj"> |
34 | <Name>utilca</Name> | 53 | <Name>utilca</Name> |
35 | <Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project> | 54 | <Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project> |
55 | <Properties>Platform=ARM</Properties> | ||
56 | </ProjectReference> | ||
57 | <ProjectReference Include="..\ca\utilca.vcxproj"> | ||
58 | <Name>utilca</Name> | ||
59 | <Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project> | ||
60 | <Properties>Platform=ARM64</Properties> | ||
61 | </ProjectReference> | ||
62 | <ProjectReference Include="..\ca\utilca.vcxproj"> | ||
63 | <Name>utilca</Name> | ||
64 | <Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project> | ||
65 | <Properties>Platform=x86</Properties> | ||
66 | </ProjectReference> | ||
67 | <ProjectReference Include="..\ca\utilca.vcxproj"> | ||
68 | <Name>utilca</Name> | ||
69 | <Project>{076018F7-19BD-423A-ABBF-229273DA08D8}</Project> | ||
70 | <Properties>Platform=x64</Properties> | ||
36 | </ProjectReference> | 71 | </ProjectReference> |
37 | </ItemGroup> | 72 | </ItemGroup> |
73 | |||
38 | <ItemGroup> | 74 | <ItemGroup> |
39 | <None Include="caerr.wxi" /> | 75 | <None Include="caerr.wxi" /> |
40 | <None Include="caDecor.wxi" /> | 76 | <None Include="caDecor.wxi" /> |
41 | <None Include="UtilExtension_Platform.wxi" /> | 77 | <None Include="UtilExtension_Platform.wxi" /> |
42 | </ItemGroup> | 78 | </ItemGroup> |
79 | |||
43 | <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " /> | 80 | <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " /> |
44 | <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets') " /> | 81 | <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets') " /> |
82 | |||
45 | <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' "> | 83 | <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' "> |
46 | <Error Text="WiX Toolset build tools (v4.0 or later) must be installed to build this project. To download the WiX Toolset, go to http://wixtoolset.org/releases/." /> | 84 | <Error Text="WiX Toolset build tools (v4.0 or later) must be installed to build this project. To download the WiX Toolset, go to http://wixtoolset.org/releases/." /> |
47 | </Target> | 85 | </Target> |
86 | |||
48 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | 87 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |
49 | <PropertyGroup> | 88 | <PropertyGroup> |
50 | <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | 89 | <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> |
@@ -52,5 +91,6 @@ | |||
52 | <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" /> | 91 | <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" /> |
53 | <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0104\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0104\build\WixToolset.MSBuild.props'))" /> | 92 | <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0104\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0104\build\WixToolset.MSBuild.props'))" /> |
54 | </Target> | 93 | </Target> |
94 | |||
55 | <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" /> | 95 | <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" /> |
56 | </Project> | 96 | </Project> |