diff options
author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2022-09-11 00:34:46 +0000 |
---|---|---|
committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2022-09-11 00:34:46 +0000 |
commit | 3c4c9310d3626dc87c31f498035661c37daa618b (patch) | |
tree | 39003eab10a78dbf4a63c74610a4817f3accaf2e /src/VBox/Additions | |
parent | be8c3a7995c86c8c276669a3dee09603c19b7e9b (diff) | |
download | VirtualBox-svn-3c4c9310d3626dc87c31f498035661c37daa618b.tar.gz |
Add/Nt/Installer: Changed the 2nd parameter of ${CmdExecute} from a 'true/false' to a more explicit 'non-zero-exitcode=log/abort' to make it explicitly clear what's going to happen on failure. Always save the install_ui.log. bugref:10261
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@96687 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/Additions')
5 files changed, 70 insertions, 47 deletions
diff --git a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditions.nsi b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditions.nsi index 81b82a70ddc..7f325d2d779 100644 --- a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditions.nsi +++ b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditions.nsi @@ -861,8 +861,20 @@ Section -Post ${LogVerbose} "Installation completed." + ; + ; Dump UI log to on success too. Only works with non-silent installs. + ; (This has to be done here rather than in .onInstSuccess, because by + ; then the log is no longer visible in the UI.) + ; + ${IfNot} ${Silent} + StrCpy $0 "$INSTDIR\install_ui.log" + Push $0 + Call DumpLog + ${EndIf} + SectionEnd +;; ; !!! NOTE: This function *has* to be right under the last section; otherwise it does ; *not* get called! Don't ask me why ... !!! Function .onSelChange @@ -895,8 +907,10 @@ Function .onSelChange FunctionEnd +;; ; This function is called when a critical error occurred, caused by ; the Abort command +; Function .onInstFailed ${LogVerbose} "$(VBOX_ERROR_INST_FAILED)" @@ -906,19 +920,21 @@ Function .onInstFailed ${LogToVBoxTray} "2" "Error while installing ${PRODUCT_NAME}!" ${EndIf} - ; Dump UI log to see what happend. - ; Only works with non-silent installs. - IfSilent +4 +1 + ; Dump UI log to see what happend. Only works with non-silent installs. + ${IfNot} ${Silent} StrCpy $0 "$INSTDIR\install_ui.log" Push $0 Call DumpLog + ${EndIf} ; Set overall exit code SetErrorLevel 1 FunctionEnd +;; ; This function is called when installation was successful! +; Function .onInstSuccess ${LogVerbose} "${PRODUCT_NAME} successfully installed" diff --git a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh index db1b2391728..e819db62a7c 100644 --- a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh +++ b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh @@ -467,7 +467,7 @@ Function ${un}AbortShutdown ${If} ${FileExists} "$g_strSystemDir\shutdown.exe" ; Try to abort the shutdown - ${CmdExecute} "$\"$g_strSystemDir\shutdown.exe$\" -a" "true" + ${CmdExecute} "$\"$g_strSystemDir\shutdown.exe$\" -a" 'non-zero-exitcode=log' ${Else} ${LogVerbose} "Shutting down not supported: Binary $\"$g_strSystemDir\shutdown.exe$\" not found" ${EndIf} diff --git a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsExternal.nsh b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsExternal.nsh index 367b95a9f1a..413179e6f16 100644 --- a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsExternal.nsh +++ b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsExternal.nsh @@ -32,16 +32,23 @@ ; installer runs in silent mode or not. If the external program reports an exit ; code other than 0 the installer will be aborted. ; -; @param Command line (full qualified and quoted). -; @param If set to "false" the installer aborts if the external program reports -; an exit code other than 0, "true" just prints a warning and continues -; execution. +; @param ${cmdline} Command line (full qualified and quoted). +; @param ${options} Either 'non-zero-exitcode=log' or 'non-zero-exitcode=abort'. +; Controls how to handle non-zero exit codes, in the latter +; case they will trigger an installation abort, while in the +; form only a warning in the log file. ; -!macro _cmdExecute cmdline optional +!macro _cmdExecute cmdline options ; Save $0 & $1 Push $0 Push $1 + ; Check that the options are valid. + ${IfNot} ${options} != "exitcode=0" + ${AndIfNot} ${options} != "ignore-exitcode" + Abort "Internal error in _cmdExecute: options=${options} cmdline=${cmdline}" + ${EndIf} + ; ; Execute the command, putting the exit code in $0 when done. ; @@ -62,7 +69,7 @@ ; Check if it failed and take action according to the 2nd argument. ; ${If} $0 <> 0 - ${If} ${optional} == "false" + ${If} ${options} == "exitcode=0" ${LogVerbose} "Error excuting $\"${cmdline}$\" (exit code: $0) -- aborting installation" Abort "Error excuting $\"${cmdline}$\" (exit code: $0) -- aborting installation" ${Else} diff --git a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsNT4.nsh b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsNT4.nsh index e7036ea4987..03fcf29f7e0 100644 --- a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsNT4.nsh +++ b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsNT4.nsh @@ -161,7 +161,7 @@ Function NT4_InstallFiles ${LogVerbose} "Installing drivers for NT4 ..." ; Install guest driver - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxGuest$\" $\"VBoxGuest Support Driver$\" 1 1 $\"$SYSDIR\drivers\VBoxGuest.sys$\" $\"Base$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxGuest$\" $\"VBoxGuest Support Driver$\" 1 1 $\"$SYSDIR\drivers\VBoxGuest.sys$\" $\"Base$\"" 'non-zero-exitcode=abort' ; Bugfix: Set "Start" to 1, otherwise, VBoxGuest won't start on boot-up! ; Bugfix: Correct invalid "ImagePath" (\??\C:\WINNT\...) @@ -172,12 +172,12 @@ Function NT4_InstallFiles WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "VBoxTray" '"$SYSDIR\VBoxTray.exe"' ; Video driver - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver nt4-install-video" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver nt4-install-video" 'non-zero-exitcode=abort' ; Create the VBoxService service ; No need to stop/remove the service here! Do this only on uninstallation! ${LogVerbose} "Installing VirtualBox service ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxService$\" $\"VirtualBox Guest Additions Service$\" 16 2 $\"%SystemRoot%\system32\VBoxService.exe$\" $\"Base$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxService$\" $\"VirtualBox Guest Additions Service$\" 16 2 $\"%SystemRoot%\system32\VBoxService.exe$\" $\"Base$\"" 'non-zero-exitcode=abort' ; Create the Shared Folders service ... ;nsSCM::Install /NOUNLOAD "VBoxSF" "VirtualBox Shared Folders" 1 1 "$SYSDIR\drivers\VBoxSFNT.sys" "Network" "" "" "" @@ -195,7 +195,7 @@ Function NT4_InstallFiles ;WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider" "ProviderPath" "$SYSDIR\VBoxMRXNP.dll" ; Add the shared folders network provider - ;${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add VBoxSF" "false" + ;${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add VBoxSF" 'non-zero-exitcode=abort' Goto done @@ -243,12 +243,12 @@ Function ${un}NT4_Uninstall Push $0 ; Remove the guest driver service - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxGuest" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxGuest" 'non-zero-exitcode=log' Delete /REBOOTOK "$SYSDIR\drivers\VBoxGuest.sys" ; Delete the VBoxService service Call ${un}StopVBoxService - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxService" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxService" 'non-zero-exitcode=log' DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "VBoxService" Delete /REBOOTOK "$SYSDIR\VBoxService.exe" @@ -263,7 +263,7 @@ Function ${un}NT4_Uninstall Delete /REBOOTOK "$SYSDIR\VBoxControl.exe" ; Delete the VBoxVideo service - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideo" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideo" 'non-zero-exitcode=log' ; Delete the VBox video driver files Delete /REBOOTOK "$SYSDIR\drivers\VBoxVideo.sys" diff --git a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh index 3bfbfbd34d6..af3031c7a46 100644 --- a/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh +++ b/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsW2KXP.nsh @@ -140,9 +140,9 @@ change_res: ${EndIf} ; Write the new value in the adapter config (VBoxVideo.sys) using hex values in binary format - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomXRes REG_BIN $g_iScreenX DWORD" "false" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomYRes REG_BIN $g_iScreenY DWORD" "false" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomBPP REG_BIN $g_iScreenBpp DWORD" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomXRes REG_BIN $g_iScreenX DWORD" 'non-zero-exitcode=abort' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomYRes REG_BIN $g_iScreenY DWORD" 'non-zero-exitcode=abort' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry write HKLM $reg_path_device CustomBPP REG_BIN $g_iScreenBpp DWORD" 'non-zero-exitcode=abort' ; ... and tell Windows to use that mode on next start! WriteRegDWORD HKCC $reg_path_device "DefaultSettings.XResolution" "$g_iScreenX" @@ -197,8 +197,8 @@ Function W2K_Prepare SetOutPath "$INSTDIR\cert" FILE "$%PATH_OUT%\bin\additions\vbox-legacy-timestamp-ca.cer" FILE "$%PATH_OUT%\bin\additions\VBoxCertUtil.exe" - ${CmdExecute} "$\"$INSTDIR\cert\VBoxCertUtil.exe$\" add-trusted-publisher --root $\"$INSTDIR\cert\vbox-legacy-timestamp-ca.cer$\"" "true" - ${CmdExecute} "$\"$INSTDIR\cert\VBoxCertUtil.exe$\" display-all" "true" + ${CmdExecute} "$\"$INSTDIR\cert\VBoxCertUtil.exe$\" add-trusted-publisher --root $\"$INSTDIR\cert\vbox-legacy-timestamp-ca.cer$\"" 'non-zero-exitcode=log' + ${CmdExecute} "$\"$INSTDIR\cert\VBoxCertUtil.exe$\" display-all" 'non-zero-exitcode=log' ${EndIf} !endif @@ -353,7 +353,7 @@ Function W2K_InstallFiles ${If} $g_bNoGuestDrv == "false" ${LogVerbose} "Installing guest driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxGuest.inf$\" $\"$INSTDIR\install_drivers.log$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxGuest.inf$\" $\"$INSTDIR\install_drivers.log$\"" 'non-zero-exitcode=abort' ${Else} ${LogVerbose} "Guest driver installation skipped!" ${EndIf} @@ -361,10 +361,10 @@ Function W2K_InstallFiles ${If} $g_bNoVideoDrv == "false" ${If} $g_bWithWDDM == "true" ${LogVerbose} "Installing WDDM video driver..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxWddm.inf$\" $\"$INSTDIR\install_drivers.log$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxWddm.inf$\" $\"$INSTDIR\install_drivers.log$\"" 'non-zero-exitcode=abort' ${Else} ${LogVerbose} "Installing video driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxVideo.inf$\" $\"$INSTDIR\install_drivers.log$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxVideo.inf$\" $\"$INSTDIR\install_drivers.log$\"" 'non-zero-exitcode=abort' ${EndIf} ${Else} ${LogVerbose} "Video driver installation skipped!" @@ -378,7 +378,7 @@ Function W2K_InstallFiles ; The mouse filter does not contain any device IDs but a "DefaultInstall" section; ; so this .INF file needs to be installed using "InstallHinfSection" which is implemented ; with VBoxDrvInst's "driver executeinf" routine - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxMouse.inf$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver install $\"$INSTDIR\VBoxMouse.inf$\"" 'non-zero-exitcode=abort' ${Else} ${LogVerbose} "Mouse driver installation skipped!" ${EndIf} @@ -388,7 +388,7 @@ Function W2K_InstallFiles ; No need to stop/remove the service here! Do this only on uninstallation! ; ${LogVerbose} "Installing VirtualBox service ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxService$\" $\"VirtualBox Guest Additions Service$\" 16 2 $\"%SystemRoot%\System32\VBoxService.exe$\" $\"Base$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxService$\" $\"VirtualBox Guest Additions Service$\" 16 2 $\"%SystemRoot%\System32\VBoxService.exe$\" $\"Base$\"" 'non-zero-exitcode=abort' ; Set service description WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\VBoxService" "Description" "Manages VM runtime information, time synchronization, remote sysprep execution and miscellaneous utilities for guest operating systems." @@ -401,7 +401,7 @@ Function W2K_InstallFiles ; Create the Shared Folders service ... ; No need to stop/remove the service here! Do this only on uninstallation! - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxSF$\" $\"VirtualBox Shared Folders$\" 2 1 $\"\SystemRoot\System32\drivers\VBoxSF.sys$\" $\"NetworkProvider$\"" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service create $\"VBoxSF$\" $\"VirtualBox Shared Folders$\" 2 1 $\"\SystemRoot\System32\drivers\VBoxSF.sys$\" $\"NetworkProvider$\"" 'non-zero-exitcode=abort' ; ... and the link to the network provider WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider" "DeviceName" "\Device\VBoxMiniRdr" @@ -409,13 +409,13 @@ Function W2K_InstallFiles WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider" "ProviderPath" "$SYSDIR\VBoxMRXNP.dll" ; Add default network providers (if not present or corrupted) - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add WebClient" "false" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add LanmanWorkstation" "false" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add RDPNP" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add WebClient" 'non-zero-exitcode=abort' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add LanmanWorkstation" 'non-zero-exitcode=abort' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add RDPNP" 'non-zero-exitcode=abort' ; Add the shared folders network provider ${LogVerbose} "Adding network provider (Order = $g_iSfOrder) ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add VBoxSF $g_iSfOrder" "false" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider add VBoxSF $g_iSfOrder" 'non-zero-exitcode=abort' Pop $0 @@ -517,8 +517,8 @@ Function ${un}W2K_Uninstall ; Remove VirtualBox video driver ${LogVerbose} "Uninstalling video driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideo.inf$\"" "true" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideo" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideo.inf$\"" 'non-zero-exitcode=log' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideo" 'non-zero-exitcode=log' Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxVideo.sys" Delete /REBOOTOK "$g_strSystemDir\VBoxDisp.dll" @@ -526,24 +526,24 @@ Function ${un}W2K_Uninstall !if $%VBOX_WITH_WDDM% == "1" ${LogVerbose} "Uninstalling WDDM video driver..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxWddm.inf$\"" "true" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxWddm" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxWddm.inf$\"" 'non-zero-exitcode=log' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxWddm" 'non-zero-exitcode=log' ;misha> @todo driver file removal (as well as service removal) should be done as driver package uninstall ; could be done with "VBoxDrvInst.exe /u", e.g. by passing additional arg to it denoting that driver package is to be uninstalled Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxWddm.sys" ; Obsolete files begin ${LogVerbose} "Uninstalling WDDM video driver for Windows 8..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideoW8.inf$\"" "true" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideoW8" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideoW8.inf$\"" 'non-zero-exitcode=log' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideoW8" 'non-zero-exitcode=log' ;misha> @todo driver file removal (as well as service removal) should be done as driver package uninstall ; could be done with "VBoxDrvInst.exe /u", e.g. by passing additional arg to it denoting that driver package is to be uninstalled Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxVideoW8.sys" ${LogVerbose} "Uninstalling WDDM video driver for Windows Vista and 7..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideoWddm.inf$\"" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxVideoWddm.inf$\"" 'non-zero-exitcode=log' ; Always try to remove both VBoxVideoWddm & VBoxVideo services no matter what is installed currently - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideoWddm" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxVideoWddm" 'non-zero-exitcode=log' ;misha> @todo driver file removal (as well as service removal) should be done as driver package uninstall ; could be done with "VBoxDrvInst.exe /u", e.g. by passing additional arg to it denoting that driver package is to be uninstalled Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxVideoWddm.sys" @@ -578,13 +578,13 @@ Function ${un}W2K_Uninstall ; Remove mouse driver ${LogVerbose} "Removing mouse driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxMouse" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxMouse" 'non-zero-exitcode=log' Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxMouse.sys" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry delmultisz $\"SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}$\" $\"UpperFilters$\" $\"VBoxMouse$\"" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" registry delmultisz $\"SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}$\" $\"UpperFilters$\" $\"VBoxMouse$\"" 'non-zero-exitcode=log' ; Delete the VBoxService service Call ${un}StopVBoxService - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxService" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxService" 'non-zero-exitcode=log' DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "VBoxService" Delete /REBOOTOK "$g_strSystemDir\VBoxService.exe" @@ -603,9 +603,9 @@ Function ${un}W2K_Uninstall ; Remove guest driver ${LogVerbose} "Removing guest driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxGuest.inf$\"" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" driver uninstall $\"$INSTDIR\VBoxGuest.inf$\"" 'non-zero-exitcode=log' - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxGuest" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxGuest" 'non-zero-exitcode=log' Delete /REBOOTOK "$g_strSystemDir\drivers\VBoxGuest.sys" Delete /REBOOTOK "$g_strSystemDir\VBCoInst.dll" ; Deprecated, does not get installed anymore Delete /REBOOTOK "$g_strSystemDir\VBoxTray.exe" @@ -615,8 +615,8 @@ Function ${un}W2K_Uninstall ; Remove shared folders driver ${LogVerbose} "Removing shared folders driver ..." - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider remove VBoxSF" "true" - ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxSF" "true" + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" netprovider remove VBoxSF" 'non-zero-exitcode=log' + ${CmdExecute} "$\"$INSTDIR\VBoxDrvInst.exe$\" service delete VBoxSF" 'non-zero-exitcode=log' Delete /REBOOTOK "$g_strSystemDir\VBoxMRXNP.dll" ; The network provider DLL will be locked !if $%KBUILD_TARGET_ARCH% == "amd64" ; Only 64-bit installer: Also remove 32-bit DLLs on 64-bit target arch in Wow64 node |