diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-21 17:28:17 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-21 18:09:49 +1000 |
commit | 7670257bba2a8dc11c01664bc5f102a8dec17b93 (patch) | |
tree | d94ae7670cef03ab49036e2e272a052e6e4ca91d | |
parent | 7e79c6be038f3703e53fa5ff04c4e2ad865541c1 (diff) | |
download | wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.gz wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.bz2 wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.zip |
Add action to OnExecutePackageBegin.
-rw-r--r-- | src/engine/apply.cpp | 24 | ||||
-rw-r--r-- | src/engine/engine.vcxproj | 4 | ||||
-rw-r--r-- | src/engine/packages.config | 2 | ||||
-rw-r--r-- | src/engine/userexperience.cpp | 4 | ||||
-rw-r--r-- | src/engine/userexperience.h | 3 |
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 | ||
2102 | LExit: | 2102 | LExit: |
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 | ||
2157 | LExit: | 2157 | LExit: |
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 | ||
2221 | LExit: | 2221 | LExit: |
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 | ||
2293 | LExit: | 2293 | LExit: |
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: | |||
1209 | EXTERN_C BAAPI UserExperienceOnExecutePackageBegin( | 1209 | EXTERN_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( | |||
292 | BAAPI UserExperienceOnExecutePackageBegin( | 292 | BAAPI 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 | ); |
297 | BAAPI UserExperienceOnExecutePackageComplete( | 298 | BAAPI UserExperienceOnExecutePackageComplete( |
298 | __in BURN_USER_EXPERIENCE* pUserExperience, | 299 | __in BURN_USER_EXPERIENCE* pUserExperience, |