BlueSkies.online
Menu
  • Home
  • Application Packaging
  • Tutorials
      • List of Tutorials
  • Scripts
      • VBScript
      • PowerShell
  • Wallpapers
      • Abstract
      • Animals
      • Astronomy
      • Computing
      • Gaming
      • Industrial
      • Macabre
      • Microscopic
      • Music
      • Nature
      • Popular Culture
      • Science Fiction
      • Vehicles
  • Profile

Latest Article

Remove Registry VALUE on Install in Basic MSI

 

Problem: Existing install of an MSI application will not un-install.

On 30+ servers a vendor supplied MSI needed to be updated to the next version however the application would not un-install using any standard removal methods with various switches and will not upgrade to the next version. Using MSIZap seems to work but the subsequent install of the next version results in mis-match errors.

Reason: Rogue property set via an MST transform on install.

A PROPERTY was found that was set via a transform when the original application was installed ADDDEFAULT=ALL. Whichever setting this property is affecting it allowed the install but not the un-install.

Fix: Break the link between the transform and the MSI.

Within the HKEY_CLASSES_ROOT\Installer\Products\<GUID> registry key a VALUE exists that connects the MSI to it's transform MST file so removing this VALUE will allow the normal un-install process to complete. Creating a basic MSI to remove the VALUE was decided as the easiest option to rollout using existing deployment tools.


Create a basic MSI with an entry in the RemoveRegistry table replacing the values with your own settings, I used '0' for the root as I needed to work with HKEY_CLASSES_ROOT but check the details below for your own values.

*Column Name* *Row Contents*
RemoveRegistry RemoveRegistry01
Root 0
Key Installer\Products\<GUID>
Name Transforms
Component ISRegistryValue
 
RemoveRegistry (s72)

Unique name to define the entry (you can choose this)

Root (i2)

numeric value defining the registry hive you'll be deleting from
0 = HKCR
1 = HKCU
2 = HKLM
3 = HKU

Key (l255)

The rest of the key name, such as SOFTWARE\MyProduct\

Name (L255)

Name of the Registry VALUE, such as UninstallString

Component_ (s72)

Name of a component from the component table to link the removal too, this has to be a component selected for install. If you don't have an existing component to use just create a new component.

Details
Written by Blue Skies
Category: Application Packaging
Published: 10 December 2015
  • Windows
  • MSI
  • RemoveRegistry
  • InstallShield

Page 4 of 10

  • Start
  • Prev
  • 1
  • 2
  • 3
  • 4
  • ...
  • 6
  • 7
  • 8
  • 9
  • 10
  • Next
  • End

Popular Articles

  • Visual C++ 2012 for Enterprise Deployment
  • Remove Registry VALUE on Install in Basic MSI
  • Lync 2013 Basic Deployment
  • Delete Folder on Uninstall of MSI
  • Variable VBScript Shortcut Launcher

Popular Tags

Windows script.vbs Packaging script.ps1 Tutorial Debian Linux MSI InstallShield Microsoft

© 2025 BlueSkies.online

  • Facebook
  • Twitter
  • Google
  • Youtube
  • Linkedin
  • RSS Feed
Go Top