aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-21 17:28:17 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-21 18:09:49 +1000
commit7670257bba2a8dc11c01664bc5f102a8dec17b93 (patch)
treed94ae7670cef03ab49036e2e272a052e6e4ca91d
parent7e79c6be038f3703e53fa5ff04c4e2ad865541c1 (diff)
downloadwix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.gz
wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.bz2
wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.zip
Add action to OnExecutePackageBegin.
-rw-r--r--src/engine/apply.cpp24
-rw-r--r--src/engine/engine.vcxproj4
-rw-r--r--src/engine/packages.config2
-rw-r--r--src/engine/userexperience.cpp4
-rw-r--r--src/engine/userexperience.h3
5 files changed, 20 insertions, 17 deletions
diff --git a/src/engine/apply.cpp b/src/engine/apply.cpp
index 0cef9ac8..ee11cdee 100644
--- a/src/engine/apply.cpp
+++ b/src/engine/apply.cpp
@@ -2064,7 +2064,7 @@ static HRESULT ExecuteExePackage(
2064 fBeginCalled = TRUE; 2064 fBeginCalled = TRUE;
2065 2065
2066 // Send package execute begin to BA. 2066 // Send package execute begin to BA.
2067 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->exePackage.pPackage->sczId, !fRollback); 2067 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->exePackage.pPackage->sczId, !fRollback, pExecuteAction->exePackage.action);
2068 ExitOnRootFailure(hr, "BA aborted execute EXE package begin."); 2068 ExitOnRootFailure(hr, "BA aborted execute EXE package begin.");
2069 2069
2070 message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS; 2070 message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS;
@@ -2072,7 +2072,7 @@ static HRESULT ExecuteExePackage(
2072 message.progress.dwPercentage = fRollback ? 100 : 0; 2072 message.progress.dwPercentage = fRollback ? 100 : 0;
2073 nResult = GenericExecuteMessageHandler(&message, pContext); 2073 nResult = GenericExecuteMessageHandler(&message, pContext);
2074 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); 2074 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2075 ExitOnRootFailure(hr, "UX aborted EXE progress."); 2075 ExitOnRootFailure(hr, "BA aborted EXE progress.");
2076 2076
2077 // Execute package. 2077 // Execute package.
2078 if (pExecuteAction->exePackage.pPackage->fPerMachine) 2078 if (pExecuteAction->exePackage.pPackage->fPerMachine)
@@ -2091,13 +2091,13 @@ static HRESULT ExecuteExePackage(
2091 message.progress.dwPercentage = fRollback ? 0 : 100; 2091 message.progress.dwPercentage = fRollback ? 0 : 100;
2092 nResult = GenericExecuteMessageHandler(&message, pContext); 2092 nResult = GenericExecuteMessageHandler(&message, pContext);
2093 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); 2093 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2094 ExitOnRootFailure(hr, "UX aborted EXE progress."); 2094 ExitOnRootFailure(hr, "BA aborted EXE progress.");
2095 2095
2096 pContext->cExecutedPackages += fRollback ? -1 : 1; 2096 pContext->cExecutedPackages += fRollback ? -1 : 1;
2097 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; 2097 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2098 2098
2099 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); 2099 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks);
2100 ExitOnRootFailure(hr, "UX aborted EXE package execute progress."); 2100 ExitOnRootFailure(hr, "BA aborted EXE package execute progress.");
2101 2101
2102LExit: 2102LExit:
2103 if (fBeginCalled) 2103 if (fBeginCalled)
@@ -2133,7 +2133,7 @@ static HRESULT ExecuteMsiPackage(
2133 fBeginCalled = TRUE; 2133 fBeginCalled = TRUE;
2134 2134
2135 // Send package execute begin to BA. 2135 // Send package execute begin to BA.
2136 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msiPackage.pPackage->sczId, !fRollback); 2136 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msiPackage.pPackage->sczId, !fRollback, pExecuteAction->msiPackage.action);
2137 ExitOnRootFailure(hr, "BA aborted execute MSI package begin."); 2137 ExitOnRootFailure(hr, "BA aborted execute MSI package begin.");
2138 2138
2139 // execute package 2139 // execute package
@@ -2152,7 +2152,7 @@ static HRESULT ExecuteMsiPackage(
2152 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; 2152 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2153 2153
2154 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); 2154 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks);
2155 ExitOnRootFailure(hr, "UX aborted MSI package execute progress."); 2155 ExitOnRootFailure(hr, "BA aborted MSI package execute progress.");
2156 2156
2157LExit: 2157LExit:
2158 if (fBeginCalled) 2158 if (fBeginCalled)
@@ -2188,7 +2188,7 @@ static HRESULT ExecuteMspPackage(
2188 fBeginCalled = TRUE; 2188 fBeginCalled = TRUE;
2189 2189
2190 // Send package execute begin to BA. 2190 // Send package execute begin to BA.
2191 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->mspTarget.pPackage->sczId, !fRollback); 2191 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->mspTarget.pPackage->sczId, !fRollback, pExecuteAction->mspTarget.action);
2192 ExitOnRootFailure(hr, "BA aborted execute MSP package begin."); 2192 ExitOnRootFailure(hr, "BA aborted execute MSP package begin.");
2193 2193
2194 // Now send all the patches that target this product code. 2194 // Now send all the patches that target this product code.
@@ -2216,7 +2216,7 @@ static HRESULT ExecuteMspPackage(
2216 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; 2216 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2217 2217
2218 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); 2218 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks);
2219 ExitOnRootFailure(hr, "UX aborted MSP package execute progress."); 2219 ExitOnRootFailure(hr, "BA aborted MSP package execute progress.");
2220 2220
2221LExit: 2221LExit:
2222 if (fBeginCalled) 2222 if (fBeginCalled)
@@ -2255,7 +2255,7 @@ static HRESULT ExecuteMsuPackage(
2255 fBeginCalled = TRUE; 2255 fBeginCalled = TRUE;
2256 2256
2257 // Send package execute begin to BA. 2257 // Send package execute begin to BA.
2258 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msuPackage.pPackage->sczId, !fRollback); 2258 hr = UserExperienceOnExecutePackageBegin(&pEngineState->userExperience, pExecuteAction->msuPackage.pPackage->sczId, !fRollback, pExecuteAction->msuPackage.action);
2259 ExitOnRootFailure(hr, "BA aborted execute MSU package begin."); 2259 ExitOnRootFailure(hr, "BA aborted execute MSU package begin.");
2260 2260
2261 message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS; 2261 message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS;
@@ -2263,7 +2263,7 @@ static HRESULT ExecuteMsuPackage(
2263 message.progress.dwPercentage = fRollback ? 100 : 0; 2263 message.progress.dwPercentage = fRollback ? 100 : 0;
2264 nResult = GenericExecuteMessageHandler(&message, pContext); 2264 nResult = GenericExecuteMessageHandler(&message, pContext);
2265 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); 2265 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2266 ExitOnRootFailure(hr, "UX aborted MSU progress."); 2266 ExitOnRootFailure(hr, "BA aborted MSU progress.");
2267 2267
2268 // execute package 2268 // execute package
2269 if (pExecuteAction->msuPackage.pPackage->fPerMachine) 2269 if (pExecuteAction->msuPackage.pPackage->fPerMachine)
@@ -2282,13 +2282,13 @@ static HRESULT ExecuteMsuPackage(
2282 message.progress.dwPercentage = fRollback ? 0 : 100; 2282 message.progress.dwPercentage = fRollback ? 0 : 100;
2283 nResult = GenericExecuteMessageHandler(&message, pContext); 2283 nResult = GenericExecuteMessageHandler(&message, pContext);
2284 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult); 2284 hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2285 ExitOnRootFailure(hr, "UX aborted MSU progress."); 2285 ExitOnRootFailure(hr, "BA aborted MSU progress.");
2286 2286
2287 pContext->cExecutedPackages += fRollback ? -1 : 1; 2287 pContext->cExecutedPackages += fRollback ? -1 : 1;
2288 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1; 2288 (*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2289 2289
2290 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks); 2290 hr = ReportOverallProgressTicks(&pEngineState->userExperience, fRollback, pEngineState->plan.cOverallProgressTicksTotal, *pContext->pcOverallProgressTicks);
2291 ExitOnRootFailure(hr, "UX aborted MSU package execute progress."); 2291 ExitOnRootFailure(hr, "BA aborted MSU package execute progress.");
2292 2292
2293LExit: 2293LExit:
2294 if (fBeginCalled) 2294 if (fBeginCalled)
diff --git a/src/engine/engine.vcxproj b/src/engine/engine.vcxproj
index c2e8f34c..b0c3e295 100644
--- a/src/engine/engine.vcxproj
+++ b/src/engine/engine.vcxproj
@@ -2,7 +2,7 @@
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<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props')" /> 5 <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.14\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.14\build\WixToolset.BootstrapperCore.Native.props')" />
6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" /> 6 <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
7 7
8 <ItemGroup Label="ProjectConfigurations"> 8 <ItemGroup Label="ProjectConfigurations">
@@ -166,7 +166,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
166 <PropertyGroup> 166 <PropertyGroup>
167 <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> 167 <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>
168 </PropertyGroup> 168 </PropertyGroup>
169 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.13\build\WixToolset.BootstrapperCore.Native.props'))" /> 169 <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.14\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.14\build\WixToolset.BootstrapperCore.Native.props'))" />
170 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" /> 170 <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
171 <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'))" /> 171 <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'))" />
172 </Target> 172 </Target>
diff --git a/src/engine/packages.config b/src/engine/packages.config
index 75a6476b..38569fda 100644
--- a/src/engine/packages.config
+++ b/src/engine/packages.config
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" /> 3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.13" targetFramework="native" /> 4 <package id="WixToolset.BootstrapperCore.Native" version="4.0.14" targetFramework="native" />
5 <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" /> 5 <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
6</packages> \ No newline at end of file 6</packages> \ No newline at end of file
diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp
index 566597a2..4d149e9a 100644
--- a/src/engine/userexperience.cpp
+++ b/src/engine/userexperience.cpp
@@ -1209,7 +1209,8 @@ LExit:
1209EXTERN_C BAAPI UserExperienceOnExecutePackageBegin( 1209EXTERN_C BAAPI UserExperienceOnExecutePackageBegin(
1210 __in BURN_USER_EXPERIENCE* pUserExperience, 1210 __in BURN_USER_EXPERIENCE* pUserExperience,
1211 __in_z LPCWSTR wzPackageId, 1211 __in_z LPCWSTR wzPackageId,
1212 __in BOOL fExecute 1212 __in BOOL fExecute,
1213 __in BOOTSTRAPPER_ACTION_STATE action
1213 ) 1214 )
1214{ 1215{
1215 HRESULT hr = S_OK; 1216 HRESULT hr = S_OK;
@@ -1219,6 +1220,7 @@ EXTERN_C BAAPI UserExperienceOnExecutePackageBegin(
1219 args.cbSize = sizeof(args); 1220 args.cbSize = sizeof(args);
1220 args.wzPackageId = wzPackageId; 1221 args.wzPackageId = wzPackageId;
1221 args.fExecute = fExecute; 1222 args.fExecute = fExecute;
1223 args.action = action;
1222 1224
1223 results.cbSize = sizeof(results); 1225 results.cbSize = sizeof(results);
1224 1226
diff --git a/src/engine/userexperience.h b/src/engine/userexperience.h
index bec6d292..5aade0f2 100644
--- a/src/engine/userexperience.h
+++ b/src/engine/userexperience.h
@@ -292,7 +292,8 @@ BAAPI UserExperienceOnExecuteMsiMessage(
292BAAPI UserExperienceOnExecutePackageBegin( 292BAAPI UserExperienceOnExecutePackageBegin(
293 __in BURN_USER_EXPERIENCE* pUserExperience, 293 __in BURN_USER_EXPERIENCE* pUserExperience,
294 __in_z LPCWSTR wzPackageId, 294 __in_z LPCWSTR wzPackageId,
295 __in BOOL fExecute 295 __in BOOL fExecute,
296 __in BOOTSTRAPPER_ACTION_STATE action
296 ); 297 );
297BAAPI UserExperienceOnExecutePackageComplete( 298BAAPI UserExperienceOnExecutePackageComplete(
298 __in BURN_USER_EXPERIENCE* pUserExperience, 299 __in BURN_USER_EXPERIENCE* pUserExperience,