PSADT.MSIZap Extension

PSADT.MSIZap Extension

Extension for PowerShell App Deployment Toolkit to execute MSIZap after Windows Installer uninstallation.


  • Invokes Microsoft MSIZap utility after a Windows Installer uninstallation process.
  • Wraps the original function, so no script modification needed.
  • Used to zap even a failed uninstallation (default).
  • Wraps ContinueOnError and ExitOnProcessFailure original function parameters.

External Links

PSADT.MSIZap Extension download


For those who don’t know:

MSIZAP is REALLY useful in situations where the MSI database in the registry gets corrupted to the point where:
-You cannot uninstall existing bad installation
-you cannot reinstall over a bad installation (Error, MSI package already installed)

MSIZAP makes the MSI Database forget the MSI package was ever installed but leaves the application files intact. Afterwards, you should be able to reinstall with the MSI.

I’m amazed the author found a MS Download link for MSIZAP. :open_mouth:

You are right, the usage of MSI Zap is not a joke, some experience is recommended.
I used to use it for every MSI uninstallation with no problem, but be advised that with multiple MSI dependant software, like AutoCAD / Revit some problems may occur.

For more information related to the usage or installation, follow the external link.

2023/02/08 - Updated to v1.0.1 :grinning:

Once, I had a bunch of ArcGIS installations where uninstalling the old version was not good enough to install the new version. I used MSIZAP + Registry cleanup.

Later on I discovered the reason why: ArcGIS had a DLL registration script in the MSI only for the install. In the MSI, there was no unregister script for the uninstallation!