diff options
Diffstat (limited to '')
| -rw-r--r-- | src/ext/Bal/wixstdba/Resources/dncpreq.wxl | 8 | ||||
| -rw-r--r-- | src/ext/Bal/wixstdba/Resources/iuipreq.wxl | 9 | ||||
| -rw-r--r-- | src/ext/Bal/wixstdba/Resources/mbapreq.wxl | 8 | ||||
| -rw-r--r-- | src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp | 190 |
4 files changed, 140 insertions, 75 deletions
diff --git a/src/ext/Bal/wixstdba/Resources/dncpreq.wxl b/src/ext/Bal/wixstdba/Resources/dncpreq.wxl index 734de0ed..19470064 100644 --- a/src/ext/Bal/wixstdba/Resources/dncpreq.wxl +++ b/src/ext/Bal/wixstdba/Resources/dncpreq.wxl | |||
| @@ -30,4 +30,12 @@ | |||
| 30 | <String Id="FailureCloseButton">&Close</String> | 30 | <String Id="FailureCloseButton">&Close</String> |
| 31 | <String Id="SCDRUNTIMEFAILUREErrorMessage">[WixBundleName] cannot run on this machine. Install the latest updates and/or the latest OS to run in a supported environment.</String> | 31 | <String Id="SCDRUNTIMEFAILUREErrorMessage">[WixBundleName] cannot run on this machine. Install the latest updates and/or the latest OS to run in a supported environment.</String> |
| 32 | <String Id="PREREQBAINFINITELOOPErrorMessage">[WixBundleName] failed to load the .NET Core runtime even though all of the prerequisites are installed.</String> | 32 | <String Id="PREREQBAINFINITELOOPErrorMessage">[WixBundleName] failed to load the .NET Core runtime even though all of the prerequisites are installed.</String> |
| 33 | <String Id="FilesInUseTitle">Files In Use</String> | ||
| 34 | <String Id="FilesInUseLabel">The following applications are using files that need to be updated:</String> | ||
| 35 | <String Id="FilesInUseNetfxCloseRadioButton">Close the &applications.</String> | ||
| 36 | <String Id="FilesInUseCloseRadioButton">Close the &applications and attempt to restart them.</String> | ||
| 37 | <String Id="FilesInUseDontCloseRadioButton">&Do not close applications. A reboot will be required.</String> | ||
| 38 | <String Id="FilesInUseRetryButton">&Retry</String> | ||
| 39 | <String Id="FilesInUseIgnoreButton">&Ignore</String> | ||
| 40 | <String Id="FilesInUseExitButton">E&xit</String> | ||
| 33 | </WixLocalization> | 41 | </WixLocalization> |
diff --git a/src/ext/Bal/wixstdba/Resources/iuipreq.wxl b/src/ext/Bal/wixstdba/Resources/iuipreq.wxl index 4afcd10f..bdb69f09 100644 --- a/src/ext/Bal/wixstdba/Resources/iuipreq.wxl +++ b/src/ext/Bal/wixstdba/Resources/iuipreq.wxl | |||
| @@ -30,5 +30,12 @@ | |||
| 30 | <String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String> | 30 | <String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String> |
| 31 | <String Id="FailureRestartButton">&Restart</String> | 31 | <String Id="FailureRestartButton">&Restart</String> |
| 32 | <String Id="FailureCloseButton">&Close</String> | 32 | <String Id="FailureCloseButton">&Close</String> |
| 33 | <String Id="ErrorFailNoActionReboot">No action was taken as a system reboot is required.</String> | 33 | <String Id="FilesInUseTitle">Files In Use</String> |
| 34 | <String Id="FilesInUseLabel">The following applications are using files that need to be updated:</String> | ||
| 35 | <String Id="FilesInUseNetfxCloseRadioButton">Close the &applications.</String> | ||
| 36 | <String Id="FilesInUseCloseRadioButton">Close the &applications and attempt to restart them.</String> | ||
| 37 | <String Id="FilesInUseDontCloseRadioButton">&Do not close applications. A reboot will be required.</String> | ||
| 38 | <String Id="FilesInUseRetryButton">&Retry</String> | ||
| 39 | <String Id="FilesInUseIgnoreButton">&Ignore</String> | ||
| 40 | <String Id="FilesInUseExitButton">E&xit</String> | ||
| 34 | </WixLocalization> | 41 | </WixLocalization> |
diff --git a/src/ext/Bal/wixstdba/Resources/mbapreq.wxl b/src/ext/Bal/wixstdba/Resources/mbapreq.wxl index 3fec4254..f7d4da8c 100644 --- a/src/ext/Bal/wixstdba/Resources/mbapreq.wxl +++ b/src/ext/Bal/wixstdba/Resources/mbapreq.wxl | |||
| @@ -30,4 +30,12 @@ | |||
| 30 | <String Id="FailureCloseButton">&Close</String> | 30 | <String Id="FailureCloseButton">&Close</String> |
| 31 | <String Id="NET452WIN7RTMErrorMessage">[WixBundleName] cannot run on Windows 7 RTM with .NET 4.5.2 installed. Install Windows 7 SP1 to run in a supported environment.</String> | 31 | <String Id="NET452WIN7RTMErrorMessage">[WixBundleName] cannot run on Windows 7 RTM with .NET 4.5.2 installed. Install Windows 7 SP1 to run in a supported environment.</String> |
| 32 | <String Id="PREREQBAINFINITELOOPErrorMessage">[WixBundleName] failed to load the .NET Framework runtime even though all of the prerequisites are installed.</String> | 32 | <String Id="PREREQBAINFINITELOOPErrorMessage">[WixBundleName] failed to load the .NET Framework runtime even though all of the prerequisites are installed.</String> |
| 33 | <String Id="FilesInUseTitle">Files In Use</String> | ||
| 34 | <String Id="FilesInUseLabel">The following applications are using files that need to be updated:</String> | ||
| 35 | <String Id="FilesInUseNetfxCloseRadioButton">Close the &applications.</String> | ||
| 36 | <String Id="FilesInUseCloseRadioButton">Close the &applications and attempt to restart them.</String> | ||
| 37 | <String Id="FilesInUseDontCloseRadioButton">&Do not close applications. A reboot will be required.</String> | ||
| 38 | <String Id="FilesInUseRetryButton">&Retry</String> | ||
| 39 | <String Id="FilesInUseIgnoreButton">&Ignore</String> | ||
| 40 | <String Id="FilesInUseExitButton">E&xit</String> | ||
| 33 | </WixLocalization> | 41 | </WixLocalization> |
diff --git a/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp b/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp index 5fc20368..d7b5a269 100644 --- a/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp +++ b/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp | |||
| @@ -1049,17 +1049,30 @@ public: // IBootstrapperApplication | |||
| 1049 | ) | 1049 | ) |
| 1050 | { | 1050 | { |
| 1051 | 1051 | ||
| 1052 | if (!m_fShowingInternalUiThisPackage && !m_fPrereq && wzPackageId && *wzPackageId) | 1052 | if (!m_fShowingInternalUiThisPackage && wzPackageId && *wzPackageId) |
| 1053 | { | 1053 | { |
| 1054 | BalLog(BOOTSTRAPPER_LOG_LEVEL_VERBOSE, "Package %ls has %d applications holding files in use.", wzPackageId, cFiles); | 1054 | BalLog(BOOTSTRAPPER_LOG_LEVEL_VERBOSE, "Package %ls has %d applications holding files in use.", wzPackageId, cFiles); |
| 1055 | 1055 | ||
| 1056 | switch (source) | 1056 | switch (source) |
| 1057 | { | 1057 | { |
| 1058 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI: | 1058 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI: |
| 1059 | if (m_fShowStandardFilesInUse) | ||
| 1060 | { | ||
| 1061 | return ShowMsiFilesInUse(cFiles, rgwzFiles, source, pResult); | ||
| 1062 | } | ||
| 1063 | break; | ||
| 1059 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI_RM: | 1064 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI_RM: |
| 1060 | return ShowMsiFilesInUse(cFiles, rgwzFiles, source, pResult); | 1065 | if (m_fShowRMFilesInUse) |
| 1066 | { | ||
| 1067 | return ShowMsiFilesInUse(cFiles, rgwzFiles, source, pResult); | ||
| 1068 | } | ||
| 1069 | break; | ||
| 1061 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_NETFX: | 1070 | case BOOTSTRAPPER_FILES_IN_USE_TYPE_NETFX: |
| 1062 | return ShowNetfxFilesInUse(cFiles, rgwzFiles, pResult); | 1071 | if (m_fShowNetfxFilesInUse) |
| 1072 | { | ||
| 1073 | return ShowNetfxFilesInUse(cFiles, rgwzFiles, pResult); | ||
| 1074 | } | ||
| 1075 | break; | ||
| 1063 | } | 1076 | } |
| 1064 | } | 1077 | } |
| 1065 | 1078 | ||
| @@ -2289,34 +2302,20 @@ private: // privates | |||
| 2289 | LPWSTR sczLabel = NULL; | 2302 | LPWSTR sczLabel = NULL; |
| 2290 | LPWSTR sczCloseRadioButton = NULL; | 2303 | LPWSTR sczCloseRadioButton = NULL; |
| 2291 | LPWSTR sczDontCloseRadioButton = NULL; | 2304 | LPWSTR sczDontCloseRadioButton = NULL; |
| 2292 | LOC_STRING* pLocString = NULL; | ||
| 2293 | int nButton = 0; | 2305 | int nButton = 0; |
| 2294 | int nRadioButton = 0; | 2306 | int nRadioButton = 0; |
| 2295 | 2307 | ||
| 2296 | // Get the loc strings for the files-in-use task dialog text. | 2308 | hr = BalFormatString(m_pFilesInUseTitleLoc->wzText, &sczTitle); |
| 2297 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseTitle)", &pLocString); | 2309 | BalExitOnFailure(hr, "Failed to format FilesInUseTitle loc string."); |
| 2298 | BalExitOnFailure(hr, "Failed to get FilesInUseTitle loc string."); | ||
| 2299 | |||
| 2300 | hr = StrAllocString(&sczTitle, pLocString->wzText, 0); | ||
| 2301 | BalExitOnFailure(hr, "Failed to copy FilesInUseTitle loc string."); | ||
| 2302 | 2310 | ||
| 2303 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseLabel)", &pLocString); | 2311 | hr = BalFormatString(m_pFilesInUseLabelLoc->wzText, &sczLabel); |
| 2304 | BalExitOnFailure(hr, "Failed to get FilesInUseLabel loc string."); | 2312 | BalExitOnFailure(hr, "Failed to format FilesInUseLabel loc string."); |
| 2305 | 2313 | ||
| 2306 | hr = StrAllocString(&sczLabel, pLocString->wzText, 0); | 2314 | hr = BalFormatString(m_pFilesInUseCloseRadioButtonLoc->wzText, &sczCloseRadioButton); |
| 2307 | BalExitOnFailure(hr, "Failed to copy FilesInUseLabel loc string."); | 2315 | BalExitOnFailure(hr, "Failed to format FilesInUseCloseRadioButton loc string."); |
| 2308 | 2316 | ||
| 2309 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseCloseRadioButton)", &pLocString); | 2317 | hr = BalFormatString(m_pFilesInUseDontCloseRadioButtonLoc->wzText, &sczDontCloseRadioButton); |
| 2310 | BalExitOnFailure(hr, "Failed to get FilesInUseCloseRadioButton loc string."); | 2318 | BalExitOnFailure(hr, "Failed to format FilesInUseDontCloseRadioButton loc string."); |
| 2311 | |||
| 2312 | hr = StrAllocString(&sczCloseRadioButton, pLocString->wzText, 0); | ||
| 2313 | BalExitOnFailure(hr, "Failed to copy FilesInUseCloseRadioButton loc string."); | ||
| 2314 | |||
| 2315 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseDontCloseRadioButton)", &pLocString); | ||
| 2316 | BalExitOnFailure(hr, "Failed to get FilesInUseDontCloseRadioButton loc string."); | ||
| 2317 | |||
| 2318 | hr = StrAllocString(&sczDontCloseRadioButton, pLocString->wzText, 0); | ||
| 2319 | BalExitOnFailure(hr, "Failed to copy FilesInUseDontCloseRadioButton loc string."); | ||
| 2320 | 2319 | ||
| 2321 | const TASKDIALOG_BUTTON rgRadioButtons[] = { | 2320 | const TASKDIALOG_BUTTON rgRadioButtons[] = { |
| 2322 | { IDOK, sczCloseRadioButton }, | 2321 | { IDOK, sczCloseRadioButton }, |
| @@ -2346,6 +2345,11 @@ private: // privates | |||
| 2346 | #endif | 2345 | #endif |
| 2347 | 2346 | ||
| 2348 | LExit: | 2347 | LExit: |
| 2348 | ReleaseStr(sczTitle); | ||
| 2349 | ReleaseStr(sczLabel); | ||
| 2350 | ReleaseStr(sczCloseRadioButton); | ||
| 2351 | ReleaseStr(sczDontCloseRadioButton); | ||
| 2352 | |||
| 2349 | return hr; | 2353 | return hr; |
| 2350 | } | 2354 | } |
| 2351 | 2355 | ||
| @@ -2362,38 +2366,21 @@ private: // privates | |||
| 2362 | LPWSTR sczRetryButton = NULL; | 2366 | LPWSTR sczRetryButton = NULL; |
| 2363 | LPWSTR sczIgnoreButton = NULL; | 2367 | LPWSTR sczIgnoreButton = NULL; |
| 2364 | LPWSTR sczExitButton = NULL; | 2368 | LPWSTR sczExitButton = NULL; |
| 2365 | LOC_STRING* pLocString = NULL; | ||
| 2366 | |||
| 2367 | // Get the loc strings for the files-in-use task dialog text. | ||
| 2368 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseTitle)", &pLocString); | ||
| 2369 | BalExitOnFailure(hr, "Failed to get FilesInUseTitle loc string."); | ||
| 2370 | 2369 | ||
| 2371 | hr = StrAllocString(&sczTitle, pLocString->wzText, 0); | 2370 | hr = BalFormatString(m_pFilesInUseTitleLoc->wzText, &sczTitle); |
| 2372 | BalExitOnFailure(hr, "Failed to copy FilesInUseTitle loc string."); | 2371 | BalExitOnFailure(hr, "Failed to format FilesInUseTitle loc string."); |
| 2373 | 2372 | ||
| 2374 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseLabel)", &pLocString); | 2373 | hr = BalFormatString(m_pFilesInUseLabelLoc->wzText, &sczLabel); |
| 2375 | BalExitOnFailure(hr, "Failed to get FilesInUseLabel loc string."); | 2374 | BalExitOnFailure(hr, "Failed to format FilesInUseLabel loc string."); |
| 2376 | 2375 | ||
| 2377 | hr = StrAllocString(&sczLabel, pLocString->wzText, 0); | 2376 | hr = BalFormatString(m_pFilesInUseRetryButtonLoc->wzText, &sczRetryButton); |
| 2378 | BalExitOnFailure(hr, "Failed to copy FilesInUseLabel loc string."); | 2377 | BalExitOnFailure(hr, "Failed to format FilesInUseRetryButton loc string."); |
| 2379 | 2378 | ||
| 2380 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseRetryButton)", &pLocString); | 2379 | hr = BalFormatString(m_pFilesInUseIgnoreButtonLoc->wzText, &sczIgnoreButton); |
| 2381 | BalExitOnFailure(hr, "Failed to get FilesInUseRetryButton loc string."); | 2380 | BalExitOnFailure(hr, "Failed to format FilesInUseIgnoreButton loc string."); |
| 2382 | 2381 | ||
| 2383 | hr = StrAllocString(&sczRetryButton, pLocString->wzText, 0); | 2382 | hr = BalFormatString(m_pFilesInUseExitButtonLoc->wzText, &sczExitButton); |
| 2384 | BalExitOnFailure(hr, "Failed to copy FilesInUseRetryButton loc string."); | 2383 | BalExitOnFailure(hr, "Failed to format FilesInUseExitButton loc string."); |
| 2385 | |||
| 2386 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseIgnoreButton)", &pLocString); | ||
| 2387 | BalExitOnFailure(hr, "Failed to get FilesInUseIgnoreButton loc string."); | ||
| 2388 | |||
| 2389 | hr = StrAllocString(&sczIgnoreButton, pLocString->wzText, 0); | ||
| 2390 | BalExitOnFailure(hr, "Failed to copy FilesInUseIgnoreButton loc string."); | ||
| 2391 | |||
| 2392 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseExitButton)", &pLocString); | ||
| 2393 | BalExitOnFailure(hr, "Failed to get FilesInUseExitButton loc string."); | ||
| 2394 | |||
| 2395 | hr = StrAllocString(&sczExitButton, pLocString->wzText, 0); | ||
| 2396 | BalExitOnFailure(hr, "Failed to copy FilesInUseExitButton loc string."); | ||
| 2397 | 2384 | ||
| 2398 | const TASKDIALOG_BUTTON rgButtons[] = { | 2385 | const TASKDIALOG_BUTTON rgButtons[] = { |
| 2399 | { IDRETRY, sczRetryButton }, | 2386 | { IDRETRY, sczRetryButton }, |
| @@ -2419,6 +2406,12 @@ private: // privates | |||
| 2419 | #endif | 2406 | #endif |
| 2420 | 2407 | ||
| 2421 | LExit: | 2408 | LExit: |
| 2409 | ReleaseStr(sczTitle); | ||
| 2410 | ReleaseStr(sczLabel); | ||
| 2411 | ReleaseStr(sczRetryButton); | ||
| 2412 | ReleaseStr(sczIgnoreButton); | ||
| 2413 | ReleaseStr(sczExitButton); | ||
| 2414 | |||
| 2422 | return hr; | 2415 | return hr; |
| 2423 | } | 2416 | } |
| 2424 | 2417 | ||
| @@ -2485,34 +2478,20 @@ private: // privates | |||
| 2485 | LPWSTR sczLabel = NULL; | 2478 | LPWSTR sczLabel = NULL; |
| 2486 | LPWSTR sczNetfxCloseRadioButton = NULL; | 2479 | LPWSTR sczNetfxCloseRadioButton = NULL; |
| 2487 | LPWSTR sczDontCloseRadioButton = NULL; | 2480 | LPWSTR sczDontCloseRadioButton = NULL; |
| 2488 | LOC_STRING* pLocString = NULL; | ||
| 2489 | int nButton = 0; | 2481 | int nButton = 0; |
| 2490 | int nRadioButton = 0; | 2482 | int nRadioButton = 0; |
| 2491 | 2483 | ||
| 2492 | // Get the loc strings for the files-in-use task dialog text. | 2484 | hr = BalFormatString(m_pFilesInUseTitleLoc->wzText, &sczTitle); |
| 2493 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseTitle)", &pLocString); | 2485 | BalExitOnFailure(hr, "Failed to format FilesInUseTitle loc string."); |
| 2494 | BalExitOnFailure(hr, "Failed to get FilesInUseTitle loc string."); | ||
| 2495 | |||
| 2496 | hr = StrAllocString(&sczTitle, pLocString->wzText, 0); | ||
| 2497 | BalExitOnFailure(hr, "Failed to copy FilesInUseTitle loc string."); | ||
| 2498 | |||
| 2499 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseLabel)", &pLocString); | ||
| 2500 | BalExitOnFailure(hr, "Failed to get FilesInUseLabel loc string."); | ||
| 2501 | 2486 | ||
| 2502 | hr = StrAllocString(&sczLabel, pLocString->wzText, 0); | 2487 | hr = BalFormatString(m_pFilesInUseLabelLoc->wzText, &sczLabel); |
| 2503 | BalExitOnFailure(hr, "Failed to copy FilesInUseLabel loc string."); | 2488 | BalExitOnFailure(hr, "Failed to format FilesInUseLabel loc string."); |
| 2504 | 2489 | ||
| 2505 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseNetfxCloseRadioButton)", &pLocString); | 2490 | hr = BalFormatString(m_pFilesInUseNetfxCloseRadioButtonLoc->wzText, &sczNetfxCloseRadioButton); |
| 2506 | BalExitOnFailure(hr, "Failed to get FilesInUseNetfxCloseRadioButton loc string."); | 2491 | BalExitOnFailure(hr, "Failed to format FilesInUseNetfxCloseRadioButton loc string."); |
| 2507 | 2492 | ||
| 2508 | hr = StrAllocString(&sczNetfxCloseRadioButton, pLocString->wzText, 0); | 2493 | hr = BalFormatString(m_pFilesInUseDontCloseRadioButtonLoc->wzText, &sczDontCloseRadioButton); |
| 2509 | BalExitOnFailure(hr, "Failed to copy FilesInUseNetfxCloseRadioButton loc string."); | 2494 | BalExitOnFailure(hr, "Failed to format FilesInUseDontCloseRadioButton loc string."); |
| 2510 | |||
| 2511 | hr = LocGetString(m_pWixLoc, L"#(loc.FilesInUseDontCloseRadioButton)", &pLocString); | ||
| 2512 | BalExitOnFailure(hr, "Failed to get FilesInUseDontCloseRadioButton loc string."); | ||
| 2513 | |||
| 2514 | hr = StrAllocString(&sczDontCloseRadioButton, pLocString->wzText, 0); | ||
| 2515 | BalExitOnFailure(hr, "Failed to copy FilesInUseDontCloseRadioButton loc string."); | ||
| 2516 | 2495 | ||
| 2517 | const TASKDIALOG_BUTTON rgRadioButtons[] = { | 2496 | const TASKDIALOG_BUTTON rgRadioButtons[] = { |
| 2518 | { IDYES, sczNetfxCloseRadioButton }, | 2497 | { IDYES, sczNetfxCloseRadioButton }, |
| @@ -2542,6 +2521,11 @@ private: // privates | |||
| 2542 | #endif | 2521 | #endif |
| 2543 | 2522 | ||
| 2544 | LExit: | 2523 | LExit: |
| 2524 | ReleaseStr(sczTitle); | ||
| 2525 | ReleaseStr(sczLabel); | ||
| 2526 | ReleaseStr(sczNetfxCloseRadioButton); | ||
| 2527 | ReleaseStr(sczDontCloseRadioButton); | ||
| 2528 | |||
| 2545 | return hr; | 2529 | return hr; |
| 2546 | } | 2530 | } |
| 2547 | 2531 | ||
| @@ -2736,6 +2720,8 @@ private: | |||
| 2736 | hr = LoadLocalization(sczModulePath, m_sczLanguage); | 2720 | hr = LoadLocalization(sczModulePath, m_sczLanguage); |
| 2737 | ExitOnFailure(hr, "Failed to load localization."); | 2721 | ExitOnFailure(hr, "Failed to load localization."); |
| 2738 | 2722 | ||
| 2723 | LoadFilesInUse(); | ||
| 2724 | |||
| 2739 | hr = LoadTheme(sczModulePath, m_sczLanguage); | 2725 | hr = LoadTheme(sczModulePath, m_sczLanguage); |
| 2740 | ExitOnFailure(hr, "Failed to load theme."); | 2726 | ExitOnFailure(hr, "Failed to load theme."); |
| 2741 | 2727 | ||
| @@ -2898,6 +2884,40 @@ private: | |||
| 2898 | } | 2884 | } |
| 2899 | 2885 | ||
| 2900 | 2886 | ||
| 2887 | HRESULT LoadIndividualLocString( | ||
| 2888 | __in_z LPCWSTR wzId, | ||
| 2889 | __out LOC_STRING** ppLocString | ||
| 2890 | ) | ||
| 2891 | { | ||
| 2892 | HRESULT hr = LocGetString(m_pWixLoc, wzId, ppLocString); | ||
| 2893 | |||
| 2894 | if (E_NOTFOUND == hr) | ||
| 2895 | { | ||
| 2896 | BalLog(BOOTSTRAPPER_LOG_LEVEL_DEBUG, "WIXSTDBA: Missing loc string '%ls'.", wzId); | ||
| 2897 | } | ||
| 2898 | |||
| 2899 | return hr; | ||
| 2900 | } | ||
| 2901 | |||
| 2902 | |||
| 2903 | void LoadFilesInUse() | ||
| 2904 | { | ||
| 2905 | // Get the loc strings for the files-in-use dialogs. | ||
| 2906 | LoadIndividualLocString(L"#(loc.FilesInUseTitle)", &m_pFilesInUseTitleLoc); | ||
| 2907 | LoadIndividualLocString(L"#(loc.FilesInUseLabel)", &m_pFilesInUseLabelLoc); | ||
| 2908 | LoadIndividualLocString(L"#(loc.FilesInUseCloseRadioButton)", &m_pFilesInUseCloseRadioButtonLoc); | ||
| 2909 | LoadIndividualLocString(L"#(loc.FilesInUseDontCloseRadioButton)", &m_pFilesInUseDontCloseRadioButtonLoc); | ||
| 2910 | LoadIndividualLocString(L"#(loc.FilesInUseRetryButton)", &m_pFilesInUseRetryButtonLoc); | ||
| 2911 | LoadIndividualLocString(L"#(loc.FilesInUseIgnoreButton)", &m_pFilesInUseIgnoreButtonLoc); | ||
| 2912 | LoadIndividualLocString(L"#(loc.FilesInUseExitButton)", &m_pFilesInUseExitButtonLoc); | ||
| 2913 | LoadIndividualLocString(L"#(loc.FilesInUseNetfxCloseRadioButton)", &m_pFilesInUseNetfxCloseRadioButtonLoc); | ||
| 2914 | |||
| 2915 | m_fShowRMFilesInUse = m_pFilesInUseTitleLoc && m_pFilesInUseLabelLoc && m_pFilesInUseCloseRadioButtonLoc && m_pFilesInUseDontCloseRadioButtonLoc; | ||
| 2916 | m_fShowStandardFilesInUse = m_pFilesInUseTitleLoc && m_pFilesInUseLabelLoc && m_pFilesInUseRetryButtonLoc && m_pFilesInUseIgnoreButtonLoc && m_pFilesInUseExitButtonLoc; | ||
| 2917 | m_fShowNetfxFilesInUse = m_pFilesInUseTitleLoc && m_pFilesInUseLabelLoc && m_pFilesInUseNetfxCloseRadioButtonLoc && m_pFilesInUseDontCloseRadioButtonLoc; | ||
| 2918 | } | ||
| 2919 | |||
| 2920 | |||
| 2901 | HRESULT LoadTheme( | 2921 | HRESULT LoadTheme( |
| 2902 | __in_z LPCWSTR wzModulePath, | 2922 | __in_z LPCWSTR wzModulePath, |
| 2903 | __in_z_opt LPCWSTR wzLanguage | 2923 | __in_z_opt LPCWSTR wzLanguage |
| @@ -4631,8 +4651,19 @@ public: | |||
| 4631 | m_fPrereqInstalled = FALSE; | 4651 | m_fPrereqInstalled = FALSE; |
| 4632 | m_fPrereqSkipped = FALSE; | 4652 | m_fPrereqSkipped = FALSE; |
| 4633 | 4653 | ||
| 4654 | m_fShowStandardFilesInUse = FALSE; | ||
| 4655 | m_fShowRMFilesInUse = FALSE; | ||
| 4656 | m_fShowNetfxFilesInUse = FALSE; | ||
| 4634 | m_nLastMsiFilesInUseResult = IDNOACTION; | 4657 | m_nLastMsiFilesInUseResult = IDNOACTION; |
| 4635 | m_nLastNetfxFilesInUseResult = IDNOACTION; | 4658 | m_nLastNetfxFilesInUseResult = IDNOACTION; |
| 4659 | m_pFilesInUseTitleLoc = NULL; | ||
| 4660 | m_pFilesInUseLabelLoc = NULL; | ||
| 4661 | m_pFilesInUseCloseRadioButtonLoc = NULL; | ||
| 4662 | m_pFilesInUseNetfxCloseRadioButtonLoc = NULL; | ||
| 4663 | m_pFilesInUseDontCloseRadioButtonLoc = NULL; | ||
| 4664 | m_pFilesInUseRetryButtonLoc = NULL; | ||
| 4665 | m_pFilesInUseIgnoreButtonLoc = NULL; | ||
| 4666 | m_pFilesInUseExitButtonLoc = NULL; | ||
| 4636 | 4667 | ||
| 4637 | pEngine->AddRef(); | 4668 | pEngine->AddRef(); |
| 4638 | m_pEngine = pEngine; | 4669 | m_pEngine = pEngine; |
| @@ -4926,8 +4957,19 @@ private: | |||
| 4926 | BOOL m_fShowingInternalUiThisPackage; | 4957 | BOOL m_fShowingInternalUiThisPackage; |
| 4927 | BOOL m_fTriedToLaunchElevated; | 4958 | BOOL m_fTriedToLaunchElevated; |
| 4928 | 4959 | ||
| 4960 | BOOL m_fShowStandardFilesInUse; | ||
| 4961 | BOOL m_fShowRMFilesInUse; | ||
| 4962 | BOOL m_fShowNetfxFilesInUse; | ||
| 4929 | int m_nLastMsiFilesInUseResult; | 4963 | int m_nLastMsiFilesInUseResult; |
| 4930 | int m_nLastNetfxFilesInUseResult; | 4964 | int m_nLastNetfxFilesInUseResult; |
| 4965 | LOC_STRING* m_pFilesInUseTitleLoc; | ||
| 4966 | LOC_STRING* m_pFilesInUseLabelLoc; | ||
| 4967 | LOC_STRING* m_pFilesInUseCloseRadioButtonLoc; | ||
| 4968 | LOC_STRING* m_pFilesInUseNetfxCloseRadioButtonLoc; | ||
| 4969 | LOC_STRING* m_pFilesInUseDontCloseRadioButtonLoc; | ||
| 4970 | LOC_STRING* m_pFilesInUseRetryButtonLoc; | ||
| 4971 | LOC_STRING* m_pFilesInUseIgnoreButtonLoc; | ||
| 4972 | LOC_STRING* m_pFilesInUseExitButtonLoc; | ||
| 4931 | 4973 | ||
| 4932 | HMODULE m_hBAFModule; | 4974 | HMODULE m_hBAFModule; |
| 4933 | PFN_BA_FUNCTIONS_PROC m_pfnBAFunctionsProc; | 4975 | PFN_BA_FUNCTIONS_PROC m_pfnBAFunctionsProc; |
