Uninstalling the software
In the documentation for the software https://docs.tier2tickets.com/content/general/installation/, it specifically states to use "wmic product where (name="Helpdesk Button") call uninstall /nointeractive". This is not a good method to use to uninstall the software. Due to the way Microsoft implemented this wmic hook, it causes the Windows Installer service to perform a full verification of all installed software and an automatic repair of any software that fails validation. (Just check your application event logs after using any "wmic product" function.) For certain applications, this can cause the program and configuration to become corrupted.
Instead, the documentation should instruct administrators to use the uninstall command directly as in '"C:\Program Files (x86)\Helpdesk Button\unins000.exe" /SILENT' for the silent uninstall as listed in the program's uninstall string in the registry. In a batch script, it would be '"%programfiles(x86)%\Helpdesk Button\unins000.exe" /SILENT' for 64bit systems and '"%programfiles%\Helpdesk Button\unins000.exe" /SILENT' for 32bit systems.
For a full script it would be:
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
GOTO END
:32BIT
"%PROGRAMFILES%\Helpdesk Button\unins000.exe" /SILENT
GOTO END
:64BIT
"%PROGRAMFILES(x86)%\Helpdesk Button\unins000.exe" /SILENT
GOTO END
:END
This is what should be recommended to use in the documentation, not WMIC product.
Comments
Hey Michael,
We are nearly done with a new set of features that will allow the uninstall process to be initiated remotely using this method. It isn't quite ready yet, but we will let everyone know when it is!
EDIT: On further inspection. It may not be the best way to do this. It would only remove the files. The application would still appear to be installed to windows installer service. The MSI is what needs to be used to fully install the product. To avoid using wmic you can call misexec /x but it is more cumbersome.
Thanks for the input,
-Daryl