Rather than execute or download the program’s uninstaller, Kaseya offers a new feature that allows you to uninstall a program using the uninstaller or MSI Reg key. Follow these steps:
1- Under the audit module, go to Machine Summary.
2- Select the system where the software to be uninstalled resides
3- Go to the Software/Add/remove tabs
4- Copy the GUID or uninstaller path of the program to be uninstalled
5- Create a new Agent procedure
6- Select the Uninstall by Product GUID
7- Paste the key you copied in step 4 in the MSI GUID to uninstall field
8- Select how to uninstall the program
9- Save and execute the procedure on the target systems
(note the GUID for a specific software program is the same on all PCs as long as the version is identical
This is a sneak peek into the types of items you will find in the learning center.
Have you ever wondered how to do something specific in Kaseya and did not know where to go to find the answer? In Professional Services we are asked similar questions on a daily basis. Some are simple answers, some not so simple but usually it’s all about knowing where to look to find the answer.
Have you ever heard of the Kaseya Learning Center? Many have not and there is a wealth of information there if you know where to look. To access the learning center click on the following link https://lms.kaseya.com/kedu . It has a self registration facility, just click on Login in the upper right hand corner and you will be directed to the login page. Follow the instructions in the box labeled “Is this your first time here?” to create your login. Once you have completed your registration, go ahead and login and you will see a wealth of information. Computer Based Training is geared to give you the basics about all the different modules and functions within Kaseya. The Solution Series is a set of quick videos dedicated to providing specific information on how to do something specific like installing Adobe Reader 9.4 or what to monitor for SQL and Exchange Servers.
@GRAND MASTER I noticed that this is sort of a plug for the Learning Center and Pro Services, is it okay to comment on the above mentioned "Automate the Uninstall of an application"?
If its in the community its open for discussion. This post is going to featured in an upcoming newsletter. :)
This is great if you want to uninstall a single application from many PC's but it really supprises me why there isnt a uninstall button in the software add /remove tabs.
So we can in one click uninstall the app from a single PC. This is very handy when cleaning up PC's that have other applications, toolbars etc. In this instance it is quicker to RDP to a machine an uninstall the app manually than creating a procedure.
oh that would be very nice....+1 vote for a uninstall button next to applications in the Add / Remove tabs !
Thanks Brendan, this is some good stuff, However, I followed the instructions above and it did not work. I am trying to uninstall McAfee and got the path of the uninstaller for Add/Remove Programs, the GUID was not listed. I copied that and created a new Agent Procedure. I selected Uninstall by GUID and pasted the uninstaller path that I copied from Add/Remove Programs. I tried to uninstall it silently and also interactive and the script summary was Success THEN. However my program never uninstalled.... Any ideas?
Yes so that's the reason why I asked if it was okay to post to this thread, the method Brendan Cosgrove posted is great but it does not work under all conditions. I have spent a very long time developing methods for deploy and removing applications and I still get stuck every now and then.
A good source for installing and uninstalling applications can be found on www.appdeploy.com I often get redirected to that site when I do my research online.
Now to explain what I mean, if you take the Adobe Reader as an example every time you install a minor update the GUID changes, so say you have 10 - 100 machines the likelihood that all of them will have the same exact version of Adobe Reader 10 is very small. Java RE on the other hand retains its original GUID even if you update it which means if you install 1.6.24 on a new machine that did not have Java previously installed and you update Java on another machine the GUID's will be different.
So unless you want to create an Agent Procedure that will attempt to uninstall every incremental change in the GUID what you want to do instead is enumerate the GUID by using the Display Name of the application. I have actually written a small executable to do exactly that so I could use it in my Agent Procedures, note that this method is also not perfect though. Another method I used in the past is to locate the GUID in the application's registry key however I found that not all applications publishes the GUID there either.
Something else to consider is that not all application installed on a Windows machine can be uninstalled using msiexec, including some that were originally install as a MSI package. If you take AV product as an example they tend to make it harder to automate silent uninstalls of there products to prevent viruses from doing exactly that.
So to recap the method Brendan posted will sometimes work and it is great that Kaseya is trying to make our jobs easier in this area just don't get angry if it does not work as the issue is really with the application that you are trying to uninstall
When I was faced with the issue of multiple outdated versions of Java & Adobe, I considered an enumeration method also but found it to be hit and miss...for one reason or another it wasn't getting all the GUIDS removed and I was wasting huge amounts of time troubleshooting why 100 PC's would work and 5 others would not.
In the end I decided to script the removal of every single GUID for the previous versions of Adobe and Java that I wanted to remove. The reason was that I wanted to be absolutely certain that I had initiated the uninstallation for that application version.
Rather than checking for the presence of each version, I simply execute the removal of it anyways and ensure that 'Continue on fail' is selected for each removal. Each time I push out a Java or Adobe update I run the removal script for all previous versions again....perhaps its overkill...but so far I have found this method to be flawless.
Below is an example for Java 1.4.2.x removal
This did work great for a program with a defined GUID. I've been trying to uninstall a program with no GUID, just a path. It is not working,,, I scoured the registry to see if there was a GUID associated with the program, but nope. So I'm wondering what I'm doing wrong.
No GUID most likely means it was not installed using MSI.
In this case you would need to invoke the uninstall String from that path as a command shell execution.
I would first try to run that in command line manually and see what the outcome is, if it produces the desired result then I would port this over to an agent procedure afterwards.
Where is the "MSI GUID to uninstall field" located?
Open the Audit module and click the "Machine Summary" function. Select the endpoint. Using the tabs on the right side of the screen, select the Software tab and then the Add/Remove tab. The uninstall string is listed (if available for the specific package).