aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/registration.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-08-03 15:38:46 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-08-04 10:03:57 -0500
commit5815688519a60e63e18c13dfe0908d76757cbc53 (patch)
treef2c6b78263ed996f0b36915f7bb5984e87c2e3e2 /src/burn/engine/registration.cpp
parentab47449ca6ccd2ae2b6f0bf477bcea7e49aa8f6b (diff)
downloadwix-5815688519a60e63e18c13dfe0908d76757cbc53.tar.gz
wix-5815688519a60e63e18c13dfe0908d76757cbc53.tar.bz2
wix-5815688519a60e63e18c13dfe0908d76757cbc53.zip
Update Burn ARP command lines to skip clean room.
This also adds an escape hatch to Burn for antivirus interfering with clean room.
Diffstat (limited to 'src/burn/engine/registration.cpp')
-rw-r--r--src/burn/engine/registration.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/burn/engine/registration.cpp b/src/burn/engine/registration.cpp
index 147865fa..0a8fb602 100644
--- a/src/burn/engine/registration.cpp
+++ b/src/burn/engine/registration.cpp
@@ -773,7 +773,7 @@ extern "C" HRESULT RegistrationSessionBegin(
773 else if (BURN_REGISTRATION_MODIFY_DISABLE_BUTTON != pRegistration->modify) // if support modify (aka: did not disable anything) 773 else if (BURN_REGISTRATION_MODIFY_DISABLE_BUTTON != pRegistration->modify) // if support modify (aka: did not disable anything)
774 { 774 {
775 // ModifyPath: [path to exe] /modify 775 // ModifyPath: [path to exe] /modify
776 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_MODIFY_PATH, L"\"%ls\" /modify", pRegistration->sczCacheExecutablePath); 776 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_MODIFY_PATH, L"\"%ls\" /%ls /modify", pRegistration->sczCacheExecutablePath, BURN_COMMANDLINE_SWITCH_CLEAN_ROOM);
777 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_MODIFY_PATH); 777 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_MODIFY_PATH);
778 778
779 // NoElevateOnModify: 1 779 // NoElevateOnModify: 1
@@ -796,14 +796,14 @@ extern "C" HRESULT RegistrationSessionBegin(
796 } 796 }
797 797
798 // QuietUninstallString: [path to exe] /uninstall /quiet 798 // QuietUninstallString: [path to exe] /uninstall /quiet
799 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_QUIET_UNINSTALL_STRING, L"\"%ls\" /uninstall /quiet", pRegistration->sczCacheExecutablePath); 799 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_QUIET_UNINSTALL_STRING, L"\"%ls\" /%ls /uninstall /quiet", pRegistration->sczCacheExecutablePath, BURN_COMMANDLINE_SWITCH_CLEAN_ROOM);
800 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_QUIET_UNINSTALL_STRING); 800 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_QUIET_UNINSTALL_STRING);
801 801
802 // UninstallString, [path to exe] 802 // UninstallString, [path to exe]
803 // If the modify button is to be disabled, we'll add "/modify" to the uninstall string because the button is "Uninstall/Change". Otherwise, 803 // If the modify button is to be disabled, we'll add "/modify" to the uninstall string because the button is "Uninstall/Change". Otherwise,
804 // it's just the "Uninstall" button so we add "/uninstall" to make the program just go away. 804 // it's just the "Uninstall" button so we add "/uninstall" to make the program just go away.
805 LPCWSTR wzUninstallParameters = (BURN_REGISTRATION_MODIFY_DISABLE_BUTTON == pRegistration->modify) ? L"/modify" : L" /uninstall"; 805 LPCWSTR wzUninstallParameters = (BURN_REGISTRATION_MODIFY_DISABLE_BUTTON == pRegistration->modify) ? L"/modify" : L" /uninstall";
806 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_UNINSTALL_STRING, L"\"%ls\" %ls", pRegistration->sczCacheExecutablePath, wzUninstallParameters); 806 hr = RegWriteStringFormatted(hkRegistration, REGISTRY_BUNDLE_UNINSTALL_STRING, L"\"%ls\" /%ls %ls", pRegistration->sczCacheExecutablePath, BURN_COMMANDLINE_SWITCH_CLEAN_ROOM, wzUninstallParameters);
807 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_UNINSTALL_STRING); 807 ExitOnFailure(hr, "Failed to write %ls value.", REGISTRY_BUNDLE_UNINSTALL_STRING);
808 808
809 if (pRegistration->softwareTags.cSoftwareTags) 809 if (pRegistration->softwareTags.cSoftwareTags)