Вопрос

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.)
Это было полезно?

Решение

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.

Другие советы

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top