Add action to OnExecutePackageBegin.
Sean Hall committed
Apr 21, 2020 at 17:28 UTC
7670257bba2a8dc11c01664bc5f102a8dec17b93
5 files changed
+20
-17
src/engine/apply.cpp
+12
-12
@@ -2064,7 +2064,7 @@ static HRESULT ExecuteExePackage(
2064
fBeginCalled = TRUE;
2065
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.");
2069
2070
message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS;
@@ -2072,7 +2072,7 @@ static HRESULT ExecuteExePackage(
2072
message.progress.dwPercentage = fRollback ? 100 : 0;
2073
nResult = GenericExecuteMessageHandler(&message, pContext);
2074
hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2075
- ExitOnRootFailure(hr, "UX aborted EXE progress.");
2075
+ ExitOnRootFailure(hr, "BA aborted EXE progress.");
2076
2077
// Execute package.
2078
if (pExecuteAction->exePackage.pPackage->fPerMachine)
@@ -2091,13 +2091,13 @@ static HRESULT ExecuteExePackage(
2091
message.progress.dwPercentage = fRollback ? 0 : 100;
2092
nResult = GenericExecuteMessageHandler(&message, pContext);
2093
hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2094
- ExitOnRootFailure(hr, "UX aborted EXE progress.");
2094
+ ExitOnRootFailure(hr, "BA aborted EXE progress.");
2095
2096
pContext->cExecutedPackages += fRollback ? -1 : 1;
2097
(*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2098
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
2102
LExit:
2103
if (fBeginCalled)
@@ -2133,7 +2133,7 @@ static HRESULT ExecuteMsiPackage(
2133
fBeginCalled = TRUE;
2134
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.");
2138
2139
// execute package
@@ -2152,7 +2152,7 @@ static HRESULT ExecuteMsiPackage(
2152
(*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2153
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
2157
LExit:
2158
if (fBeginCalled)
@@ -2188,7 +2188,7 @@ static HRESULT ExecuteMspPackage(
2188
fBeginCalled = TRUE;
2189
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.");
2193
2194
// Now send all the patches that target this product code.
@@ -2216,7 +2216,7 @@ static HRESULT ExecuteMspPackage(
2216
(*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2217
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
2221
LExit:
2222
if (fBeginCalled)
@@ -2255,7 +2255,7 @@ static HRESULT ExecuteMsuPackage(
2255
fBeginCalled = TRUE;
2256
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.");
2260
2261
message.type = GENERIC_EXECUTE_MESSAGE_PROGRESS;
@@ -2263,7 +2263,7 @@ static HRESULT ExecuteMsuPackage(
2263
message.progress.dwPercentage = fRollback ? 100 : 0;
2264
nResult = GenericExecuteMessageHandler(&message, pContext);
2265
hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2266
- ExitOnRootFailure(hr, "UX aborted MSU progress.");
2266
+ ExitOnRootFailure(hr, "BA aborted MSU progress.");
2267
2268
// execute package
2269
if (pExecuteAction->msuPackage.pPackage->fPerMachine)
@@ -2282,13 +2282,13 @@ static HRESULT ExecuteMsuPackage(
2282
message.progress.dwPercentage = fRollback ? 0 : 100;
2283
nResult = GenericExecuteMessageHandler(&message, pContext);
2284
hr = UserExperienceInterpretExecuteResult(&pEngineState->userExperience, fRollback, message.dwAllowedResults, nResult);
2285
- ExitOnRootFailure(hr, "UX aborted MSU progress.");
2285
+ ExitOnRootFailure(hr, "BA aborted MSU progress.");
2286
2287
pContext->cExecutedPackages += fRollback ? -1 : 1;
2288
(*pContext->pcOverallProgressTicks) += fRollback ? -1 : 1;
2289
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
2293
LExit:
2294
if (fBeginCalled)
src/engine/engine.vcxproj
+2
-2
@@ -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. -->
3
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')" />
7
8
<ItemGroup Label="ProjectConfigurations">
@@ -166,7 +166,7 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
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>
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'))" />
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>
src/engine/packages.config
+1
-1
@@ -1,6 +1,6 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<packages>
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" />
6
</packages>
\ No newline at end of file
src/engine/userexperience.cpp
+3
-1
@@ -1209,7 +1209,8 @@ LExit:
1209
EXTERN_C BAAPI UserExperienceOnExecutePackageBegin(
1210
__in BURN_USER_EXPERIENCE* pUserExperience,
1211
__in_z LPCWSTR wzPackageId,
1212
- __in BOOL fExecute
1212
+ __in BOOL fExecute,
1213
+ __in BOOTSTRAPPER_ACTION_STATE action
1214
)
1215
{
1216
HRESULT hr = S_OK;
@@ -1219,6 +1220,7 @@ EXTERN_C BAAPI UserExperienceOnExecutePackageBegin(
1220
args.cbSize = sizeof(args);
1221
args.wzPackageId = wzPackageId;
1222
args.fExecute = fExecute;
1223
+ args.action = action;
1224
1225
results.cbSize = sizeof(results);
1226
src/engine/userexperience.h
+2
-1
@@ -292,7 +292,8 @@ BAAPI UserExperienceOnExecuteMsiMessage(
292
BAAPI UserExperienceOnExecutePackageBegin(
293
__in BURN_USER_EXPERIENCE* pUserExperience,
294
__in_z LPCWSTR wzPackageId,
295
- __in BOOL fExecute
295
+ __in BOOL fExecute,
296
+ __in BOOTSTRAPPER_ACTION_STATE action
297
);
298
BAAPI UserExperienceOnExecutePackageComplete(
299
__in BURN_USER_EXPERIENCE* pUserExperience,