diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2019-01-19 20:31:52 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2019-01-19 20:35:55 -0600 |
commit | 74ca49020e2f382437337f166711ea87556865bd (patch) | |
tree | 4534fb7535e96bb6bfc68d73669b58f48b57624c /src/ca | |
parent | a12b13c36d1da707cf541595cf5f38338f37cc68 (diff) | |
download | wix-74ca49020e2f382437337f166711ea87556865bd.tar.gz wix-74ca49020e2f382437337f166711ea87556865bd.tar.bz2 wix-74ca49020e2f382437337f166711ea87556865bd.zip |
Integrate into latest v4.
Diffstat (limited to 'src/ca')
-rw-r--r-- | src/ca/custommsierrors.h | 4 | ||||
-rw-r--r-- | src/ca/dllmain.cpp | 26 | ||||
-rw-r--r-- | src/ca/mqexec.cpp | 38 | ||||
-rw-r--r-- | src/ca/mqqueueexec.cpp | 4 | ||||
-rw-r--r-- | src/ca/mqqueueexec.h | 4 | ||||
-rw-r--r-- | src/ca/mqqueuesched.cpp | 4 | ||||
-rw-r--r-- | src/ca/mqqueuesched.h | 4 | ||||
-rw-r--r-- | src/ca/mqsched.cpp | 31 | ||||
-rw-r--r-- | src/ca/msmqca.def | 12 | ||||
-rw-r--r-- | src/ca/msmqca.vcxproj | 71 | ||||
-rw-r--r-- | src/ca/packages.config | 5 | ||||
-rw-r--r-- | src/ca/precomp.h | 23 |
12 files changed, 161 insertions, 65 deletions
diff --git a/src/ca/custommsierrors.h b/src/ca/custommsierrors.h new file mode 100644 index 00000000..0c1b23b7 --- /dev/null +++ b/src/ca/custommsierrors.h | |||
@@ -0,0 +1,4 @@ | |||
1 | #pragma once | ||
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 | #define msierrMsmqCannotConnect 28101 | ||
diff --git a/src/ca/dllmain.cpp b/src/ca/dllmain.cpp new file mode 100644 index 00000000..35ae6d1c --- /dev/null +++ b/src/ca/dllmain.cpp | |||
@@ -0,0 +1,26 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | #include "precomp.h" | ||
4 | |||
5 | /******************************************************************** | ||
6 | DllMain - standard entry point for all WiX custom actions | ||
7 | |||
8 | ********************************************************************/ | ||
9 | extern "C" BOOL WINAPI DllMain( | ||
10 | IN HINSTANCE hInst, | ||
11 | IN ULONG ulReason, | ||
12 | IN LPVOID) | ||
13 | { | ||
14 | switch(ulReason) | ||
15 | { | ||
16 | case DLL_PROCESS_ATTACH: | ||
17 | WcaGlobalInitialize(hInst); | ||
18 | break; | ||
19 | |||
20 | case DLL_PROCESS_DETACH: | ||
21 | WcaGlobalFinalize(); | ||
22 | break; | ||
23 | } | ||
24 | |||
25 | return TRUE; | ||
26 | } | ||
diff --git a/src/ca/mqexec.cpp b/src/ca/mqexec.cpp index bac54f31..ff7e9b14 100644 --- a/src/ca/mqexec.cpp +++ b/src/ca/mqexec.cpp | |||
@@ -2,28 +2,6 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | /******************************************************************** | ||
6 | DllMain - standard entry point for all WiX CustomActions | ||
7 | |||
8 | ********************************************************************/ | ||
9 | extern "C" BOOL WINAPI DllMain( | ||
10 | IN HINSTANCE hInst, | ||
11 | IN ULONG ulReason, | ||
12 | IN LPVOID) | ||
13 | { | ||
14 | switch(ulReason) | ||
15 | { | ||
16 | case DLL_PROCESS_ATTACH: | ||
17 | WcaGlobalInitialize(hInst); | ||
18 | break; | ||
19 | |||
20 | case DLL_PROCESS_DETACH: | ||
21 | WcaGlobalFinalize(); | ||
22 | break; | ||
23 | } | ||
24 | |||
25 | return TRUE; | ||
26 | } | ||
27 | 5 | ||
28 | /******************************************************************** | 6 | /******************************************************************** |
29 | MessageQueuingExecuteInstall - CUSTOM ACTION ENTRY POINT | 7 | MessageQueuingExecuteInstall - CUSTOM ACTION ENTRY POINT |
@@ -42,7 +20,7 @@ extern "C" UINT __stdcall MessageQueuingExecuteInstall(MSIHANDLE hInstall) | |||
42 | hr = WcaInitialize(hInstall, "MessageQueuingExecuteInstall"); | 20 | hr = WcaInitialize(hInstall, "MessageQueuingExecuteInstall"); |
43 | ExitOnFailure(hr, "Failed to initialize MessageQueuingExecuteInstall"); | 21 | ExitOnFailure(hr, "Failed to initialize MessageQueuingExecuteInstall"); |
44 | 22 | ||
45 | hr = MqiInitialize(); | 23 | hr = MqiExecInitialize(); |
46 | ExitOnFailure(hr, "Failed to initialize"); | 24 | ExitOnFailure(hr, "Failed to initialize"); |
47 | 25 | ||
48 | // get custom action data | 26 | // get custom action data |
@@ -67,7 +45,7 @@ LExit: | |||
67 | ReleaseStr(pwzCustomActionData); | 45 | ReleaseStr(pwzCustomActionData); |
68 | 46 | ||
69 | // uninitialize | 47 | // uninitialize |
70 | MqiUninitialize(); | 48 | MqiExecUninitialize(); |
71 | 49 | ||
72 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 50 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
73 | return WcaFinalize(er); | 51 | return WcaFinalize(er); |
@@ -90,7 +68,7 @@ extern "C" UINT __stdcall MessageQueuingRollbackInstall(MSIHANDLE hInstall) | |||
90 | hr = WcaInitialize(hInstall, "MessageQueuingRollbackInstall"); | 68 | hr = WcaInitialize(hInstall, "MessageQueuingRollbackInstall"); |
91 | ExitOnFailure(hr, "Failed to initialize MessageQueuingRollbackInstall"); | 69 | ExitOnFailure(hr, "Failed to initialize MessageQueuingRollbackInstall"); |
92 | 70 | ||
93 | hr = MqiInitialize(); | 71 | hr = MqiExecInitialize(); |
94 | ExitOnFailure(hr, "Failed to initialize"); | 72 | ExitOnFailure(hr, "Failed to initialize"); |
95 | 73 | ||
96 | // get custom action data | 74 | // get custom action data |
@@ -113,7 +91,7 @@ LExit: | |||
113 | ReleaseStr(pwzCustomActionData); | 91 | ReleaseStr(pwzCustomActionData); |
114 | 92 | ||
115 | // uninitialize | 93 | // uninitialize |
116 | MqiUninitialize(); | 94 | MqiExecUninitialize(); |
117 | 95 | ||
118 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 96 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
119 | return WcaFinalize(er); | 97 | return WcaFinalize(er); |
@@ -136,7 +114,7 @@ extern "C" UINT __stdcall MessageQueuingExecuteUninstall(MSIHANDLE hInstall) | |||
136 | hr = WcaInitialize(hInstall, "MessageQueuingExecuteUninstall"); | 114 | hr = WcaInitialize(hInstall, "MessageQueuingExecuteUninstall"); |
137 | ExitOnFailure(hr, "Failed to initialize MessageQueuingExecuteUninstall"); | 115 | ExitOnFailure(hr, "Failed to initialize MessageQueuingExecuteUninstall"); |
138 | 116 | ||
139 | hr = MqiInitialize(); | 117 | hr = MqiExecInitialize(); |
140 | ExitOnFailure(hr, "Failed to initialize"); | 118 | ExitOnFailure(hr, "Failed to initialize"); |
141 | 119 | ||
142 | // get custom action data | 120 | // get custom action data |
@@ -161,7 +139,7 @@ LExit: | |||
161 | ReleaseStr(pwzCustomActionData); | 139 | ReleaseStr(pwzCustomActionData); |
162 | 140 | ||
163 | // uninitialize | 141 | // uninitialize |
164 | MqiUninitialize(); | 142 | MqiExecUninitialize(); |
165 | 143 | ||
166 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 144 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
167 | return WcaFinalize(er); | 145 | return WcaFinalize(er); |
@@ -184,7 +162,7 @@ extern "C" UINT __stdcall MessageQueuingRollbackUninstall(MSIHANDLE hInstall) | |||
184 | hr = WcaInitialize(hInstall, "MessageQueuingRollbackUninstall"); | 162 | hr = WcaInitialize(hInstall, "MessageQueuingRollbackUninstall"); |
185 | ExitOnFailure(hr, "Failed to initialize MessageQueuingRollbackUninstall"); | 163 | ExitOnFailure(hr, "Failed to initialize MessageQueuingRollbackUninstall"); |
186 | 164 | ||
187 | hr = MqiInitialize(); | 165 | hr = MqiExecInitialize(); |
188 | ExitOnFailure(hr, "Failed to initialize"); | 166 | ExitOnFailure(hr, "Failed to initialize"); |
189 | 167 | ||
190 | // get custom action data | 168 | // get custom action data |
@@ -207,7 +185,7 @@ LExit: | |||
207 | ReleaseStr(pwzCustomActionData); | 185 | ReleaseStr(pwzCustomActionData); |
208 | 186 | ||
209 | // uninitialize | 187 | // uninitialize |
210 | MqiUninitialize(); | 188 | MqiExecUninitialize(); |
211 | 189 | ||
212 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 190 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
213 | return WcaFinalize(er); | 191 | return WcaFinalize(er); |
diff --git a/src/ca/mqqueueexec.cpp b/src/ca/mqqueueexec.cpp index f5b99da7..e4304ab8 100644 --- a/src/ca/mqqueueexec.cpp +++ b/src/ca/mqqueueexec.cpp | |||
@@ -119,7 +119,7 @@ static MQSetQueueSecurityFunc gpfnMQSetQueueSecurity; | |||
119 | 119 | ||
120 | // function definitions | 120 | // function definitions |
121 | 121 | ||
122 | HRESULT MqiInitialize() | 122 | HRESULT MqiExecInitialize() |
123 | { | 123 | { |
124 | HRESULT hr = S_OK; | 124 | HRESULT hr = S_OK; |
125 | 125 | ||
@@ -153,7 +153,7 @@ LExit: | |||
153 | return hr; | 153 | return hr; |
154 | } | 154 | } |
155 | 155 | ||
156 | void MqiUninitialize() | 156 | void MqiExecUninitialize() |
157 | { | 157 | { |
158 | if (ghMQRT) | 158 | if (ghMQRT) |
159 | ::FreeLibrary(ghMQRT); | 159 | ::FreeLibrary(ghMQRT); |
diff --git a/src/ca/mqqueueexec.h b/src/ca/mqqueueexec.h index 37ceea50..76bc2023 100644 --- a/src/ca/mqqueueexec.h +++ b/src/ca/mqqueueexec.h | |||
@@ -2,8 +2,8 @@ | |||
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. | 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 | 3 | ||
4 | 4 | ||
5 | HRESULT MqiInitialize(); | 5 | HRESULT MqiExecInitialize(); |
6 | void MqiUninitialize(); | 6 | void MqiExecUninitialize(); |
7 | HRESULT MqiCreateMessageQueues( | 7 | HRESULT MqiCreateMessageQueues( |
8 | LPWSTR* ppwzData | 8 | LPWSTR* ppwzData |
9 | ); | 9 | ); |
diff --git a/src/ca/mqqueuesched.cpp b/src/ca/mqqueuesched.cpp index 4f40a4aa..01777ea4 100644 --- a/src/ca/mqqueuesched.cpp +++ b/src/ca/mqqueuesched.cpp | |||
@@ -51,7 +51,7 @@ static MQPathNameToFormatNameFunc gpfnMQPathNameToFormatName; | |||
51 | 51 | ||
52 | // function definitions | 52 | // function definitions |
53 | 53 | ||
54 | HRESULT MqiInitialize() | 54 | HRESULT MqiSchedInitialize() |
55 | { | 55 | { |
56 | HRESULT hr = S_OK; | 56 | HRESULT hr = S_OK; |
57 | 57 | ||
@@ -72,7 +72,7 @@ LExit: | |||
72 | return hr; | 72 | return hr; |
73 | } | 73 | } |
74 | 74 | ||
75 | void MqiUninitialize() | 75 | void MqiSchedUninitialize() |
76 | { | 76 | { |
77 | if (ghMQRT) | 77 | if (ghMQRT) |
78 | { | 78 | { |
diff --git a/src/ca/mqqueuesched.h b/src/ca/mqqueuesched.h index b063ca28..c9381e0a 100644 --- a/src/ca/mqqueuesched.h +++ b/src/ca/mqqueuesched.h | |||
@@ -54,8 +54,8 @@ struct MQI_MESSAGE_QUEUE_PERMISSION_LIST | |||
54 | 54 | ||
55 | // function prototypes | 55 | // function prototypes |
56 | 56 | ||
57 | HRESULT MqiInitialize(); | 57 | HRESULT MqiSchedInitialize(); |
58 | void MqiUninitialize(); | 58 | void MqiSchedUninitialize(); |
59 | HRESULT MqiMessageQueueRead( | 59 | HRESULT MqiMessageQueueRead( |
60 | MQI_MESSAGE_QUEUE_LIST* pList | 60 | MQI_MESSAGE_QUEUE_LIST* pList |
61 | ); | 61 | ); |
diff --git a/src/ca/mqsched.cpp b/src/ca/mqsched.cpp index cefce853..4c994901 100644 --- a/src/ca/mqsched.cpp +++ b/src/ca/mqsched.cpp | |||
@@ -4,29 +4,6 @@ | |||
4 | 4 | ||
5 | 5 | ||
6 | /******************************************************************** | 6 | /******************************************************************** |
7 | DllMain - standard entry point for all WiX CustomActions | ||
8 | |||
9 | ********************************************************************/ | ||
10 | extern "C" BOOL WINAPI DllMain( | ||
11 | IN HINSTANCE hInst, | ||
12 | IN ULONG ulReason, | ||
13 | IN LPVOID) | ||
14 | { | ||
15 | switch(ulReason) | ||
16 | { | ||
17 | case DLL_PROCESS_ATTACH: | ||
18 | WcaGlobalInitialize(hInst); | ||
19 | break; | ||
20 | |||
21 | case DLL_PROCESS_DETACH: | ||
22 | WcaGlobalFinalize(); | ||
23 | break; | ||
24 | } | ||
25 | |||
26 | return TRUE; | ||
27 | } | ||
28 | |||
29 | /******************************************************************** | ||
30 | MessageQueuingInstall - CUSTOM ACTION ENTRY POINT for installing MSMQ message queues | 7 | MessageQueuingInstall - CUSTOM ACTION ENTRY POINT for installing MSMQ message queues |
31 | 8 | ||
32 | ********************************************************************/ | 9 | ********************************************************************/ |
@@ -51,7 +28,7 @@ extern "C" UINT __stdcall MessageQueuingInstall(MSIHANDLE hInstall) | |||
51 | 28 | ||
52 | do | 29 | do |
53 | { | 30 | { |
54 | hr = MqiInitialize(); | 31 | hr = MqiSchedInitialize(); |
55 | if (S_FALSE == hr) | 32 | if (S_FALSE == hr) |
56 | { | 33 | { |
57 | WcaLog(LOGMSG_STANDARD, "Failed to load mqrt.dll."); | 34 | WcaLog(LOGMSG_STANDARD, "Failed to load mqrt.dll."); |
@@ -118,7 +95,7 @@ LExit: | |||
118 | ReleaseStr(pwzExecuteActionData); | 95 | ReleaseStr(pwzExecuteActionData); |
119 | 96 | ||
120 | // uninitialize | 97 | // uninitialize |
121 | MqiUninitialize(); | 98 | MqiSchedUninitialize(); |
122 | 99 | ||
123 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 100 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
124 | return WcaFinalize(er); | 101 | return WcaFinalize(er); |
@@ -150,7 +127,7 @@ extern "C" UINT __stdcall MessageQueuingUninstall(MSIHANDLE hInstall) | |||
150 | 127 | ||
151 | do | 128 | do |
152 | { | 129 | { |
153 | hr = MqiInitialize(); | 130 | hr = MqiSchedInitialize(); |
154 | if (S_FALSE == hr) | 131 | if (S_FALSE == hr) |
155 | { | 132 | { |
156 | WcaLog(LOGMSG_STANDARD, "Failed to load mqrt.dll."); | 133 | WcaLog(LOGMSG_STANDARD, "Failed to load mqrt.dll."); |
@@ -212,7 +189,7 @@ LExit: | |||
212 | ReleaseStr(pwzExecuteActionData); | 189 | ReleaseStr(pwzExecuteActionData); |
213 | 190 | ||
214 | // uninitialize | 191 | // uninitialize |
215 | MqiUninitialize(); | 192 | MqiSchedUninitialize(); |
216 | 193 | ||
217 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 194 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
218 | return WcaFinalize(er); | 195 | return WcaFinalize(er); |
diff --git a/src/ca/msmqca.def b/src/ca/msmqca.def new file mode 100644 index 00000000..4902858f --- /dev/null +++ b/src/ca/msmqca.def | |||
@@ -0,0 +1,12 @@ | |||
1 | ; Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | |||
4 | LIBRARY "msmqca" | ||
5 | |||
6 | EXPORTS | ||
7 | MessageQueuingInstall | ||
8 | MessageQueuingUninstall | ||
9 | MessageQueuingExecuteInstall | ||
10 | MessageQueuingRollbackInstall | ||
11 | MessageQueuingExecuteUninstall | ||
12 | MessageQueuingRollbackUninstall | ||
diff --git a/src/ca/msmqca.vcxproj b/src/ca/msmqca.vcxproj new file mode 100644 index 00000000..507a2f93 --- /dev/null +++ b/src/ca/msmqca.vcxproj | |||
@@ -0,0 +1,71 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
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 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
5 | <Import Project="..\..\packages\WixToolset.DUtil.4.0.6\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.6\build\WixToolset.DUtil.props')" /> | ||
6 | <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props')" /> | ||
7 | |||
8 | <ItemGroup Label="ProjectConfigurations"> | ||
9 | <ProjectConfiguration Include="Debug|Win32"> | ||
10 | <Configuration>Debug</Configuration> | ||
11 | <Platform>Win32</Platform> | ||
12 | </ProjectConfiguration> | ||
13 | <ProjectConfiguration Include="Release|Win32"> | ||
14 | <Configuration>Release</Configuration> | ||
15 | <Platform>Win32</Platform> | ||
16 | </ProjectConfiguration> | ||
17 | </ItemGroup> | ||
18 | |||
19 | <PropertyGroup Label="Globals"> | ||
20 | <ProjectGuid>{CAD56A7E-342B-4324-9DCB-BCEB8F3BC80D}</ProjectGuid> | ||
21 | <ConfigurationType>DynamicLibrary</ConfigurationType> | ||
22 | <TargetName>msmqca</TargetName> | ||
23 | <PlatformToolset>v141</PlatformToolset> | ||
24 | <CharacterSet>Unicode</CharacterSet> | ||
25 | <ProjectModuleDefinitionFile>msmqca.def</ProjectModuleDefinitionFile> | ||
26 | <Description>WiX Toolset MSMQ CustomAction</Description> | ||
27 | </PropertyGroup> | ||
28 | |||
29 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||
30 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||
31 | |||
32 | <PropertyGroup> | ||
33 | <ProjectAdditionalLinkLibraries>msi.lib</ProjectAdditionalLinkLibraries> | ||
34 | </PropertyGroup> | ||
35 | |||
36 | <ItemGroup> | ||
37 | <ClCompile Include="dllmain.cpp"> | ||
38 | <PrecompiledHeader>Create</PrecompiledHeader> | ||
39 | </ClCompile> | ||
40 | <ClCompile Include="mqexec.cpp" /> | ||
41 | <ClCompile Include="mqqueueexec.cpp" /> | ||
42 | <ClCompile Include="mqqueuesched.cpp" /> | ||
43 | <ClCompile Include="mqsched.cpp" /> | ||
44 | <ClCompile Include="mqutilexec.cpp" /> | ||
45 | <ClCompile Include="mqutilsched.cpp" /> | ||
46 | </ItemGroup> | ||
47 | |||
48 | <ItemGroup> | ||
49 | <ClInclude Include="mqcost.h" /> | ||
50 | <ClInclude Include="mqqueueexec.h" /> | ||
51 | <ClInclude Include="mqqueuesched.h" /> | ||
52 | <ClInclude Include="mqutilexec.h" /> | ||
53 | <ClInclude Include="mqutilsched.h" /> | ||
54 | <ClInclude Include="precomp.h" /> | ||
55 | </ItemGroup> | ||
56 | |||
57 | <ItemGroup> | ||
58 | <None Include="packages.config" /> | ||
59 | <None Include="msmqca.def" /> | ||
60 | </ItemGroup> | ||
61 | |||
62 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||
63 | |||
64 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||
65 | <PropertyGroup> | ||
66 | <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> | ||
67 | </PropertyGroup> | ||
68 | <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.6\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.6\build\WixToolset.DUtil.props'))" /> | ||
69 | <Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props'))" /> | ||
70 | </Target> | ||
71 | </Project> | ||
diff --git a/src/ca/packages.config b/src/ca/packages.config new file mode 100644 index 00000000..b87f9ab4 --- /dev/null +++ b/src/ca/packages.config | |||
@@ -0,0 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <packages> | ||
3 | <package id="WixToolset.DUtil" version="4.0.6" targetFramework="native" /> | ||
4 | <package id="WixToolset.WcaUtil" version="4.0.2" targetFramework="native" /> | ||
5 | </packages> \ No newline at end of file | ||
diff --git a/src/ca/precomp.h b/src/ca/precomp.h new file mode 100644 index 00000000..cbbff6ea --- /dev/null +++ b/src/ca/precomp.h | |||
@@ -0,0 +1,23 @@ | |||
1 | #pragma once | ||
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 | #include <windows.h> | ||
6 | #include <msiquery.h> | ||
7 | #include <strsafe.h> | ||
8 | #include <ntsecapi.h> | ||
9 | #include <aclapi.h> | ||
10 | #include <mq.h> | ||
11 | |||
12 | #include "wcautil.h" | ||
13 | #include "memutil.h" | ||
14 | #include "strutil.h" | ||
15 | #include "wiutil.h" | ||
16 | |||
17 | #include "CustomMsiErrors.h" | ||
18 | |||
19 | #include "mqcost.h" | ||
20 | #include "mqutilsched.h" | ||
21 | #include "mqqueuesched.h" | ||
22 | #include "mqutilexec.h" | ||
23 | #include "mqqueueexec.h" | ||