DLLs are not replaced during minor upgrade

528 views Asked by At

During minor upgrade I'm getting the following error:

SELMGR: ComponentId '{C1B06529-966C-2A82-EF0C-A5CFA0113872}' is registered to feature 'X', but is not present in the Component table. Removal of components from a feature is not supported!

I don't understand why I'm getting this error or why installshield tries to remove it. it's true that this value is not in Component table, but it's not there during first installation

During first installation I have the following line:

Executing op: ComponentRegister(ComponentId={C1B06529-966C-2A82-EF0C-A5CFA0113872},KeyPath=[path]\Newtonsoft.Json.dll,State=3,,Disk=1,SharedDllRefCount=1,BinaryType=0)

is there a way to tell installshield to ignore this?

1

There are 1 answers

2
Stein Åsmul On

The short answer: use a major upgrade to deliver the latest version of your application.


Did you remove the file Newtonsoft.Json.dll in the latest version of your setup? The rules you must follow to be able to use a minor upgrade are pretty strict. Please read the "Update Rules" section here: http://www.installsite.org/pages/en/msi/updates.htm. There are several further restrictions as well - that list is quite old. It looks like you removed the above mentioned file and this causes your minor upgrade to fail.

Most people end up using a major upgrade instead of a minor upgrade - which is much more flexible and reliable - in your case it seems you have to. I only use minor upgrade if I want to create a small patch with a couple of updated files and no other changes to the setup's component and feature structure. These are the only circumstances when I find minor upgrades practical.

Installshield has quite good help material that will help you set up a major upgrade. Just search in the online help. Here is just an online version of their documentation for reference. Essentially you go to the "Upgrades view" and follow the instructions you see there.


Also see Michael Urman's answer (Installshield developer as far as I know) here: Installshield minor upgrade component. He provides two further good links for you to check.