diff options
Diffstat (limited to 'src/wixstdba/WixStandardBootstrapperApplication.cpp')
-rw-r--r-- | src/wixstdba/WixStandardBootstrapperApplication.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/wixstdba/WixStandardBootstrapperApplication.cpp b/src/wixstdba/WixStandardBootstrapperApplication.cpp index 2a8edb93..d4bf7b43 100644 --- a/src/wixstdba/WixStandardBootstrapperApplication.cpp +++ b/src/wixstdba/WixStandardBootstrapperApplication.cpp | |||
@@ -389,9 +389,12 @@ public: // IBootstrapperApplication | |||
389 | virtual STDMETHODIMP OnPlanPackageBegin( | 389 | virtual STDMETHODIMP OnPlanPackageBegin( |
390 | __in_z LPCWSTR wzPackageId, | 390 | __in_z LPCWSTR wzPackageId, |
391 | __in BOOTSTRAPPER_PACKAGE_STATE state, | 391 | __in BOOTSTRAPPER_PACKAGE_STATE state, |
392 | __in BOOL fInstallCondition, | 392 | __in BOOL fCached, |
393 | __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, | ||
393 | __in BOOTSTRAPPER_REQUEST_STATE recommendedState, | 394 | __in BOOTSTRAPPER_REQUEST_STATE recommendedState, |
394 | __inout BOOTSTRAPPER_REQUEST_STATE *pRequestState, | 395 | __in BOOTSTRAPPER_CACHE_TYPE recommendedCacheType, |
396 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestState, | ||
397 | __inout BOOTSTRAPPER_CACHE_TYPE* pRequestedCacheType, | ||
395 | __inout BOOL* pfCancel | 398 | __inout BOOL* pfCancel |
396 | ) | 399 | ) |
397 | { | 400 | { |
@@ -408,7 +411,7 @@ public: // IBootstrapperApplication | |||
408 | hr = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage); | 411 | hr = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage); |
409 | if (SUCCEEDED(hr) && pPackage->fPrereqPackage && pPackageInfo) | 412 | if (SUCCEEDED(hr) && pPackage->fPrereqPackage && pPackageInfo) |
410 | { | 413 | { |
411 | pPackageInfo->fPlannedToBeInstalled = fInstall = fInstallCondition; | 414 | pPackageInfo->fPlannedToBeInstalled = fInstall = BOOTSTRAPPER_PACKAGE_CONDITION_FALSE != installCondition; |
412 | } | 415 | } |
413 | 416 | ||
414 | if (fInstall) | 417 | if (fInstall) |
@@ -419,6 +422,12 @@ public: // IBootstrapperApplication | |||
419 | { | 422 | { |
420 | *pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; | 423 | *pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; |
421 | } | 424 | } |
425 | |||
426 | // Don't force cache packages while installing prerequisites. | ||
427 | if (BOOTSTRAPPER_CACHE_TYPE_FORCE == *pRequestedCacheType) | ||
428 | { | ||
429 | *pRequestedCacheType = BOOTSTRAPPER_CACHE_TYPE_KEEP; | ||
430 | } | ||
422 | } | 431 | } |
423 | else if (m_sczAfterForcedRestartPackage) // after force restart, skip packages until after the package that caused the restart. | 432 | else if (m_sczAfterForcedRestartPackage) // after force restart, skip packages until after the package that caused the restart. |
424 | { | 433 | { |
@@ -442,7 +451,7 @@ public: // IBootstrapperApplication | |||
442 | } | 451 | } |
443 | } | 452 | } |
444 | 453 | ||
445 | return CBalBaseBootstrapperApplication::OnPlanPackageBegin(wzPackageId, state, fInstallCondition, recommendedState, pRequestState, pfCancel); | 454 | return CBalBaseBootstrapperApplication::OnPlanPackageBegin(wzPackageId, state, fCached, installCondition, recommendedState, recommendedCacheType, pRequestState, pRequestedCacheType, pfCancel); |
446 | } | 455 | } |
447 | 456 | ||
448 | 457 | ||
@@ -2247,7 +2256,7 @@ private: // privates | |||
2247 | LPCWSTR wzLocFileName = m_fPrereq ? L"mbapreq.wxl" : L"thm.wxl"; | 2256 | LPCWSTR wzLocFileName = m_fPrereq ? L"mbapreq.wxl" : L"thm.wxl"; |
2248 | 2257 | ||
2249 | // Find and load .wxl file. | 2258 | // Find and load .wxl file. |
2250 | hr = LocProbeForFileEx(wzModulePath, wzLocFileName, wzLanguage, &sczLocPath, TRUE); | 2259 | hr = LocProbeForFile(wzModulePath, wzLocFileName, wzLanguage, &sczLocPath); |
2251 | BalExitOnFailure(hr, "Failed to probe for loc file: %ls in path: %ls", wzLocFileName, wzModulePath); | 2260 | BalExitOnFailure(hr, "Failed to probe for loc file: %ls in path: %ls", wzLocFileName, wzModulePath); |
2252 | 2261 | ||
2253 | hr = LocLoadFromFile(sczLocPath, &m_pWixLoc); | 2262 | hr = LocLoadFromFile(sczLocPath, &m_pWixLoc); |
@@ -2294,7 +2303,7 @@ private: // privates | |||
2294 | LPWSTR sczThemePath = NULL; | 2303 | LPWSTR sczThemePath = NULL; |
2295 | LPCWSTR wzThemeFileName = m_fPrereq ? L"mbapreq.thm" : L"thm.xml"; | 2304 | LPCWSTR wzThemeFileName = m_fPrereq ? L"mbapreq.thm" : L"thm.xml"; |
2296 | 2305 | ||
2297 | hr = LocProbeForFileEx(wzModulePath, wzThemeFileName, wzLanguage, &sczThemePath, TRUE); | 2306 | hr = LocProbeForFile(wzModulePath, wzThemeFileName, wzLanguage, &sczThemePath); |
2298 | BalExitOnFailure(hr, "Failed to probe for theme file: %ls in path: %ls", wzThemeFileName, wzModulePath); | 2307 | BalExitOnFailure(hr, "Failed to probe for theme file: %ls in path: %ls", wzThemeFileName, wzModulePath); |
2299 | 2308 | ||
2300 | hr = ThemeLoadFromFile(sczThemePath, &m_pTheme); | 2309 | hr = ThemeLoadFromFile(sczThemePath, &m_pTheme); |
@@ -2960,7 +2969,7 @@ private: // privates | |||
2960 | hr = StrAllocString(&sczLicenseFilename, PathFile(sczLicenseFormatted), 0); | 2969 | hr = StrAllocString(&sczLicenseFilename, PathFile(sczLicenseFormatted), 0); |
2961 | if (SUCCEEDED(hr)) | 2970 | if (SUCCEEDED(hr)) |
2962 | { | 2971 | { |
2963 | hr = LocProbeForFileEx(sczLicenseDirectory, sczLicenseFilename, m_sczLanguage, &sczLicensePath, TRUE); | 2972 | hr = LocProbeForFile(sczLicenseDirectory, sczLicenseFilename, m_sczLanguage, &sczLicensePath); |
2964 | if (SUCCEEDED(hr)) | 2973 | if (SUCCEEDED(hr)) |
2965 | { | 2974 | { |
2966 | hr = ThemeLoadRichEditFromFile(m_pTheme, WIXSTDBA_CONTROL_EULA_RICHEDIT, sczLicensePath, m_hModule); | 2975 | hr = ThemeLoadRichEditFromFile(m_pTheme, WIXSTDBA_CONTROL_EULA_RICHEDIT, sczLicensePath, m_hModule); |
@@ -3477,7 +3486,7 @@ private: // privates | |||
3477 | hr = PathGetDirectory(sczLicensePath, &sczLicenseDirectory); | 3486 | hr = PathGetDirectory(sczLicensePath, &sczLicenseDirectory); |
3478 | if (SUCCEEDED(hr)) | 3487 | if (SUCCEEDED(hr)) |
3479 | { | 3488 | { |
3480 | hr = LocProbeForFileEx(sczLicenseDirectory, PathFile(sczLicenseUrl), m_sczLanguage, &sczLicensePath, TRUE); | 3489 | hr = LocProbeForFile(sczLicenseDirectory, PathFile(sczLicenseUrl), m_sczLanguage, &sczLicensePath); |
3481 | } | 3490 | } |
3482 | } | 3491 | } |
3483 | } | 3492 | } |