diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wixstdba/WixStandardBootstrapperApplication.cpp | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/src/wixstdba/WixStandardBootstrapperApplication.cpp b/src/wixstdba/WixStandardBootstrapperApplication.cpp index 23fded79..2a8edb93 100644 --- a/src/wixstdba/WixStandardBootstrapperApplication.cpp +++ b/src/wixstdba/WixStandardBootstrapperApplication.cpp | |||
| @@ -628,6 +628,64 @@ public: // IBootstrapperApplication | |||
| 628 | } | 628 | } |
| 629 | 629 | ||
| 630 | 630 | ||
| 631 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress( | ||
| 632 | __in_z LPCWSTR wzPackageOrContainerId, | ||
| 633 | __in_z_opt LPCWSTR wzPayloadId, | ||
| 634 | __in DWORD64 dw64Progress, | ||
| 635 | __in DWORD64 dw64Total, | ||
| 636 | __in DWORD dwOverallPercentage, | ||
| 637 | __inout BOOL* pfCancel | ||
| 638 | ) | ||
| 639 | { | ||
| 640 | #ifdef DEBUG | ||
| 641 | BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheContainerOrPayloadVerifyProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage); | ||
| 642 | #endif | ||
| 643 | |||
| 644 | UpdateCacheProgress(dwOverallPercentage); | ||
| 645 | |||
| 646 | return __super::OnCacheContainerOrPayloadVerifyProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, pfCancel); | ||
| 647 | } | ||
| 648 | |||
| 649 | |||
| 650 | virtual STDMETHODIMP OnCachePayloadExtractProgress( | ||
| 651 | __in_z LPCWSTR wzPackageOrContainerId, | ||
| 652 | __in_z_opt LPCWSTR wzPayloadId, | ||
| 653 | __in DWORD64 dw64Progress, | ||
| 654 | __in DWORD64 dw64Total, | ||
| 655 | __in DWORD dwOverallPercentage, | ||
| 656 | __inout BOOL* pfCancel | ||
| 657 | ) | ||
| 658 | { | ||
| 659 | #ifdef DEBUG | ||
| 660 | BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCachePayloadExtractProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage); | ||
| 661 | #endif | ||
| 662 | |||
| 663 | UpdateCacheProgress(dwOverallPercentage); | ||
| 664 | |||
| 665 | return __super::OnCachePayloadExtractProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, pfCancel); | ||
| 666 | } | ||
| 667 | |||
| 668 | |||
| 669 | virtual STDMETHODIMP OnCacheVerifyProgress( | ||
| 670 | __in_z LPCWSTR wzPackageOrContainerId, | ||
| 671 | __in_z_opt LPCWSTR wzPayloadId, | ||
| 672 | __in DWORD64 dw64Progress, | ||
| 673 | __in DWORD64 dw64Total, | ||
| 674 | __in DWORD dwOverallPercentage, | ||
| 675 | __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep, | ||
| 676 | __inout BOOL* pfCancel | ||
| 677 | ) | ||
| 678 | { | ||
| 679 | #ifdef DEBUG | ||
| 680 | BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnCacheVerifyProgress() - container/package: %ls, payload: %ls, progress: %I64u, total: %I64u, overall progress: %u%%, step: %u", wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, verifyStep); | ||
| 681 | #endif | ||
| 682 | |||
| 683 | UpdateCacheProgress(dwOverallPercentage); | ||
| 684 | |||
| 685 | return __super::OnCacheVerifyProgress(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, verifyStep, pfCancel); | ||
| 686 | } | ||
| 687 | |||
| 688 | |||
| 631 | virtual STDMETHODIMP OnCacheAcquireComplete( | 689 | virtual STDMETHODIMP OnCacheAcquireComplete( |
| 632 | __in_z LPCWSTR wzPackageOrContainerId, | 690 | __in_z LPCWSTR wzPackageOrContainerId, |
| 633 | __in_z_opt LPCWSTR wzPayloadId, | 691 | __in_z_opt LPCWSTR wzPayloadId, |
| @@ -641,6 +699,28 @@ public: // IBootstrapperApplication | |||
| 641 | } | 699 | } |
| 642 | 700 | ||
| 643 | 701 | ||
| 702 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete( | ||
| 703 | __in_z LPCWSTR wzPackageOrContainerId, | ||
| 704 | __in_z_opt LPCWSTR wzPayloadId, | ||
| 705 | __in HRESULT hrStatus | ||
| 706 | ) | ||
| 707 | { | ||
| 708 | SetProgressState(hrStatus); | ||
| 709 | return __super::OnCacheContainerOrPayloadVerifyComplete(wzPackageOrContainerId, wzPayloadId, hrStatus); | ||
| 710 | } | ||
| 711 | |||
| 712 | |||
| 713 | virtual STDMETHODIMP OnCachePayloadExtractComplete( | ||
| 714 | __in_z LPCWSTR wzPackageOrContainerId, | ||
| 715 | __in_z_opt LPCWSTR wzPayloadId, | ||
| 716 | __in HRESULT hrStatus | ||
| 717 | ) | ||
| 718 | { | ||
| 719 | SetProgressState(hrStatus); | ||
| 720 | return __super::OnCachePayloadExtractComplete(wzPackageOrContainerId, wzPayloadId, hrStatus); | ||
| 721 | } | ||
| 722 | |||
| 723 | |||
| 644 | virtual STDMETHODIMP OnCacheVerifyComplete( | 724 | virtual STDMETHODIMP OnCacheVerifyComplete( |
| 645 | __in_z LPCWSTR wzPackageId, | 725 | __in_z LPCWSTR wzPackageId, |
| 646 | __in_z LPCWSTR wzPayloadId, | 726 | __in_z LPCWSTR wzPayloadId, |
| @@ -1282,8 +1362,31 @@ public: // IBootstrapperApplication | |||
| 1282 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE: | 1362 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE: |
| 1283 | OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults)); | 1363 | OnPlannedPackageFallback(reinterpret_cast<BA_ONPLANNEDPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDPACKAGE_RESULTS*>(pvResults)); |
| 1284 | break; | 1364 | break; |
| 1365 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS: | ||
| 1366 | OnCacheVerifyProgressFallback(reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_RESULTS*>(pvResults)); | ||
| 1367 | break; | ||
| 1368 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN: | ||
| 1369 | OnCacheContainerOrPayloadVerifyBeginFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS*>(pvResults)); | ||
| 1370 | break; | ||
| 1371 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE: | ||
| 1372 | OnCacheContainerOrPayloadVerifyCompleteFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS*>(pvResults)); | ||
| 1373 | break; | ||
| 1374 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS: | ||
| 1375 | OnCacheContainerOrPayloadVerifyProgressFallback(reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS*>(pvResults)); | ||
| 1376 | break; | ||
| 1377 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN: | ||
| 1378 | OnCachePayloadExtractBeginFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS*>(pvResults)); | ||
| 1379 | break; | ||
| 1380 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE: | ||
| 1381 | OnCachePayloadExtractCompleteFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS*>(pvResults)); | ||
| 1382 | break; | ||
| 1383 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS: | ||
| 1384 | OnCachePayloadExtractProgressFallback(reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS*>(pvResults)); | ||
| 1385 | break; | ||
| 1285 | default: | 1386 | default: |
| 1387 | #ifdef DEBUG | ||
| 1286 | BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message); | 1388 | BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message); |
| 1389 | #endif | ||
| 1287 | m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext); | 1390 | m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext); |
| 1288 | break; | 1391 | break; |
| 1289 | } | 1392 | } |
| @@ -1817,6 +1920,62 @@ private: // privates | |||
| 1817 | BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_FORWARD_COMPATIBLE_BUNDLE, m_hModule, pArgs->wzBundleId, fIgnoreBundle ? "ignore" : "enable", pResults->fIgnoreBundle ? "ignore" : "enable"); | 1920 | BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_FORWARD_COMPATIBLE_BUNDLE, m_hModule, pArgs->wzBundleId, fIgnoreBundle ? "ignore" : "enable", pResults->fIgnoreBundle ? "ignore" : "enable"); |
| 1818 | } | 1921 | } |
| 1819 | 1922 | ||
| 1923 | void OnCacheVerifyProgressFallback( | ||
| 1924 | __in BA_ONCACHEVERIFYPROGRESS_ARGS* pArgs, | ||
| 1925 | __inout BA_ONCACHEVERIFYPROGRESS_RESULTS* pResults | ||
| 1926 | ) | ||
| 1927 | { | ||
| 1928 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEVERIFYPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1929 | } | ||
| 1930 | |||
| 1931 | void OnCacheContainerOrPayloadVerifyBeginFallback( | ||
| 1932 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS* pArgs, | ||
| 1933 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS* pResults | ||
| 1934 | ) | ||
| 1935 | { | ||
| 1936 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1937 | } | ||
| 1938 | |||
| 1939 | void OnCacheContainerOrPayloadVerifyCompleteFallback( | ||
| 1940 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS* pArgs, | ||
| 1941 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS* pResults | ||
| 1942 | ) | ||
| 1943 | { | ||
| 1944 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1945 | } | ||
| 1946 | |||
| 1947 | void OnCacheContainerOrPayloadVerifyProgressFallback( | ||
| 1948 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS* pArgs, | ||
| 1949 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS* pResults | ||
| 1950 | ) | ||
| 1951 | { | ||
| 1952 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1953 | } | ||
| 1954 | |||
| 1955 | void OnCachePayloadExtractBeginFallback( | ||
| 1956 | __in BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS* pArgs, | ||
| 1957 | __inout BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS* pResults | ||
| 1958 | ) | ||
| 1959 | { | ||
| 1960 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1961 | } | ||
| 1962 | |||
| 1963 | void OnCachePayloadExtractCompleteFallback( | ||
| 1964 | __in BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS* pArgs, | ||
| 1965 | __inout BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS* pResults | ||
| 1966 | ) | ||
| 1967 | { | ||
| 1968 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1969 | } | ||
| 1970 | |||
| 1971 | void OnCachePayloadExtractProgressFallback( | ||
| 1972 | __in BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS* pArgs, | ||
| 1973 | __inout BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS* pResults | ||
| 1974 | ) | ||
| 1975 | { | ||
| 1976 | m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, pArgs, pResults, m_pvBAFunctionsProcContext); | ||
| 1977 | } | ||
| 1978 | |||
| 1820 | // | 1979 | // |
| 1821 | // UiThreadProc - entrypoint for UI thread. | 1980 | // UiThreadProc - entrypoint for UI thread. |
| 1822 | // | 1981 | // |
