Question

Is it possible to create msi installer which only exctracts data but doesn't create uninstallation data?

For example:

  1. MSI has got embeded 10 files.
  2. User installs MSI which copies 10 files to user disc.
  3. MSI doesn't create uninstallation data on user computer (Add/Remove Programs shortcut etc.)
Was it helpful?

Solution

You can prevent an uninstall entry from showing in the Add/Remove programs list.

But that doesn't have much at all to do with what Windows Installer does to manage installed packages. A Windows Installer package is not a very good mechanism for delivering self-extracting, self-executing archives. There are several products made for this specifically (e.g., WinZip, WinRAR, the old Package-for-the-Web) or various non-intrusive (unmanaged) installers (e.g., NSIS, Visual Studio Bootstrapper Installer) that would give you better control over the state the system is left in.

Key point: After a successful install, Windows Installer will store loads of data about the installation on the system and manage it until it is uninstalled.

OTHER TIPS

Windows will create the uninstall ARP/registry information and remember that an MSI is installed when the MSI runs the PublishProduct standard action. If your MSI doesn't run the PublishProduct action (condition set to 0) then MSI can install files/registry entries/services/etc and never register itself as an 'installed' product on the machine. It basically becomes a glorified zip file.

Another way to just get files dumped onto a filesystem is to run an Administrative install of your MSI: msiexec /a foo.msi. This is like installing the MSI without registering the product or running any custom actions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top