diff options
Diffstat (limited to 'src')
| -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 |
12 files changed, 474 insertions, 375 deletions
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> |
