aboutsummaryrefslogtreecommitdiff
path: root/src/ext
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext')
-rw-r--r--src/ext/Bal/wixstdba/Resources/dncpreq.wxl8
-rw-r--r--src/ext/Bal/wixstdba/Resources/iuipreq.wxl9
-rw-r--r--src/ext/Bal/wixstdba/Resources/mbapreq.wxl8
-rw-r--r--src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp190
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">&amp;Close</String> 30 <String Id="FailureCloseButton">&amp;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 &amp;applications.</String>
36 <String Id="FilesInUseCloseRadioButton">Close the &amp;applications and attempt to restart them.</String>
37 <String Id="FilesInUseDontCloseRadioButton">&amp;Do not close applications. A reboot will be required.</String>
38 <String Id="FilesInUseRetryButton">&amp;Retry</String>
39 <String Id="FilesInUseIgnoreButton">&amp;Ignore</String>
40 <String Id="FilesInUseExitButton">E&amp;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">&amp;Restart</String> 31 <String Id="FailureRestartButton">&amp;Restart</String>
32 <String Id="FailureCloseButton">&amp;Close</String> 32 <String Id="FailureCloseButton">&amp;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 &amp;applications.</String>
36 <String Id="FilesInUseCloseRadioButton">Close the &amp;applications and attempt to restart them.</String>
37 <String Id="FilesInUseDontCloseRadioButton">&amp;Do not close applications. A reboot will be required.</String>
38 <String Id="FilesInUseRetryButton">&amp;Retry</String>
39 <String Id="FilesInUseIgnoreButton">&amp;Ignore</String>
40 <String Id="FilesInUseExitButton">E&amp;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">&amp;Close</String> 30 <String Id="FailureCloseButton">&amp;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 &amp;applications.</String>
36 <String Id="FilesInUseCloseRadioButton">Close the &amp;applications and attempt to restart them.</String>
37 <String Id="FilesInUseDontCloseRadioButton">&amp;Do not close applications. A reboot will be required.</String>
38 <String Id="FilesInUseRetryButton">&amp;Retry</String>
39 <String Id="FilesInUseIgnoreButton">&amp;Ignore</String>
40 <String Id="FilesInUseExitButton">E&amp;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;