I discovered this method to uninstall almost any Software, that are listed under Windows "Add/Remove Programs", using the program {MSIGUID}, next I´m gonna explain the details on how to discover the software {MSIGUID} and then create an Uninstall command for the Software Package.

{MSIGUID} is an unique identifier for each software installed, and its unique in all clients

Now lets begin:

Step One: Install the desired software into a test client machine, in this particular case we will use Adobe Reader 9.1, after the software is installed, open regedit and navigate to the following Key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, then you will have to locate your software, based on the right collum, the field DisplayName shows the label as seen in "Add/Remove Programs", in our case the folder is selected below, note de DisplayName "Acrobar Reader 9.1".

uninstall_string.png

Notice the UninstallString field, there you can extract the correct product {MSIGUID} wich we will use in the Software Uninstall Command, double click it to edit, like the window below, and copy the string.

Step Two: Create the Uninstall command in the Software Package previously created in the Notification Server, open the Console, then go to Manage > Software.

ns_step1.png

Now expand Software Catalog, and select Deliverable Software then select your Software Package, in our case Adobe Reader 9 (EN) then click the pencil icon to edit the package.

ns_step2.png

Now we´re going to edit the Package and add the Uninstall command using the {MSIGUID} we discovered before, select the Tab Package then click the button Add command to add a specific command into this Software Package.

ns_step3.png

Now for the Uninstall command we need to configure the Command Type to be Uninstall and the desired command line, in wich we will insert our previous gathered {MSIGUID}, since we need the Uninstall command to be silent to the end user, we will need to add specific switches to the msiexec.exe to not display any user interface and also not to reboot the system, for that we will use the following switches:

MsiExec.exe /qn /x {AC76BA86-7AD7-1033-7B44-A91000000001} REBOOT=REALLYSUPRESS

Switches used:

/qn - Specify that no UI will be displayed in the client.
/x {MSIGUID} - Command switch /x to uninstall specific software defined by the {MSIGUID}.
REBOOT=REALLYSUPRESS - Force the client system not to reboot after uninstall.

Notice the Success code used is necessary otherwise the Software Task will shown as failure, since theres no success code informed, in this case the code is 3010, wich i found after testing the package with the uninstall command and noticed that the software was indeed removed from the client, but still reported failure since Altiris assumes the success code is 0, and that change with different softwares.

ns_step4.png

Now let´s save our package and it´s ready for deliver :)

ns_step5.png