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 /src | |
| parent | 7e79c6be038f3703e53fa5ff04c4e2ad865541c1 (diff) | |
| download | wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.gz wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.tar.bz2 wix-7670257bba2a8dc11c01664bc5f102a8dec17b93.zip | |
Add action to OnExecutePackageBegin.
Diffstat (limited to 'src')
| -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, |
