Why does a software package, created with the Software Delivery packager, not get added to the Windows 'Add/Remove Programs' on the target windows machine after the package has been deployed.

Document ID : KB000027432
Last Modified Date : 14/02/2018
Show Technical Document Details

Background:  

The Software Delivery Packager can create software packages for delivery to Software Delivery agents or plugins. The package creation process involves an install of the package on the packager machine.

Even though a manual install of an application, results in this application being listed in the Windows 'Add/Remove Programs', the package created on the packager machine does not add this application to 'Add/Remove Programs' on the target machine.

This is by design as if the entry was made in 'Add/Remove Programs', then a local user could uninstall package causing inconsistency between the agent and the installation history in DSM\SDO.

It is expected that when using SXP packages that the management of these is controlled by the DSM\SDO administrators and that if there is a requirement for local install and uninstall then this would be provided via catalogue.

 

Environment:  

Client Automation/Windows Software Packager

 

Instructions: 

By default an SXP package (package from the packager) will create the following entries in the registry, as shown in the sreg.sxp in the packager application:

 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\WinZip]
 "NoRemove"=dword:00000001
 "NoModify"=dword:00000001
 "SystemComponent"=dword:00000001

Also the string "UninstallString" in the same hive is removed. The example is for WinZip of course. For another package replace WinZip with the name of the package.

This configuration in the registry causes the application not to be shown in 'Add/Remove Programs'.

If the SXP package needs to be shown in 'Add/Remove Programs' on the agent machine, then one way to do this is by editing sreg.sxp as follows, before registering the package with the server (again this example is for winzip):

 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\WinZip]
 "SystemComponent"=dword:00000000
 "UninstallString"="C:\Program Files\WinZip\WINZIP32.EXE /uninstall"