Custom Action To Uninstall MSI
I'm trying to uninstall Symantec Endpoint Protection using Group Policy. We have numerous installations that were don't manually so I can't use the "Uninstall when removed from scope" option in GP.
Using Wise Package Studio, I created a custom action via the Execute Program From Installation action and placed it in the below location on the Execute Immediate tab. I created an EXE from the following VBScript which is what the CA calls.
Execute Immediate
If NOT Installed then
Execute Program From Installation (SEP Removal Tool)
End
InstallFinalize
RemoveExistingProducts
VBS
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "MsiExec.exe /X {76B2BC31-2D96-4170-9C44-09E13B5555F3} /qb",1,True
I'm getting "Another installation is already in progress". I've read several posts that indicate nested MSI calls is bad practice. How else can I do this? My requirements are a silient uninstall via GP.
I tried using the Install MSI From Destination and ented in SEP's product code as well as REMOVE=ALL for the property. My first run with this appeared to be uninstalling SEP just fine but after 30 seconds gave me an error indicating the unc path which I run the MSI from was not the parent folder for C:\Windows\Installer. My second run hung completely and the log file indicates it was reading a reg file during one of SEP's custom actions.
Using Wise Package Studio, I created a custom action via the Execute Program From Installation action and placed it in the below location on the Execute Immediate tab. I created an EXE from the following VBScript which is what the CA calls.
Execute Immediate
If NOT Installed then
Execute Program From Installation (SEP Removal Tool)
End
InstallFinalize
RemoveExistingProducts
VBS
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "MsiExec.exe /X {76B2BC31-2D96-4170-9C44-09E13B5555F3} /qb",1,True
I'm getting "Another installation is already in progress". I've read several posts that indicate nested MSI calls is bad practice. How else can I do this? My requirements are a silient uninstall via GP.
I tried using the Install MSI From Destination and ented in SEP's product code as well as REMOVE=ALL for the property. My first run with this appeared to be uninstalling SEP just fine but after 30 seconds gave me an error indicating the unc path which I run the MSI from was not the parent folder for C:\Windows\Installer. My second run hung completely and the log file indicates it was reading a reg file during one of SEP's custom actions.
0 Comments
[ + ] Show comments
Answers (1)
Please log in to answer
Posted by:
anonymous_9363
13 years ago
Why not use the WiseScript Editor to build an EXE which shells out to MSIExec instead? IIRC, there are samples which you can use as a template for exactly this type of thing. Because the EXE itself doesn't run in the WI engine, there's no conflict with other instances of MSIExec.
If you still get issues with hanging CAs, you may have to build your own uninstalling MSI. After all, of what does the app comprise? Like all, it's simply a collection of files, folders and registry junk.
If you still get issues with hanging CAs, you may have to build your own uninstalling MSI. After all, of what does the app comprise? Like all, it's simply a collection of files, folders and registry junk.

so that the conversation will remain readable.