aboutsummaryrefslogtreecommitdiff
path: root/src/wixstdba/WixStandardBootstrapperApplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixstdba/WixStandardBootstrapperApplication.cpp')
-rw-r--r--src/wixstdba/WixStandardBootstrapperApplication.cpp25
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 }