cristi_girloiu
Level 2

Removal of a component from a feature is not supported

Hi,

My application has a reference to "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.ApplicationServices.dll" library.
When building the Basic MSI type installer, the IS 2011 automatically creates a component for System.Web.ApplicationServices.dll, having an unique ID (a GUID).
The component ID is the same, regardless where I build the installer: on my development machine or on the production build machine.

The problem occurred when I changed the production build machine: the IS 2011 creates the same component for System.Web.ApplicationServices.dll using a different ID.
The result is: the minor upgrade no longer works, the new files are no longer copied on the client machine, and I get the message:

SELMGR: ComponentId '{RA4E9FCA-A062-0CDF-EA96-CFT4E1581123}' is registered to feature 'Completed', but is not present in the Component table. Removal of components from a feature is not supported!

Do you know why changing the installer build machine led to component ID changing?
What can I do to get the same component ID on production build machine?
I mention that on my development machine I continue to get the same old component ID when building the installer.

Thank you.
Labels (1)
0 Kudos
10 Replies
AlexYovenko
Level 2

I have exactly the same problem, can anyone suggest solution?
0 Kudos
is2019user
Level 3

I am doing major upgrade. During this installation it is getting interrupted and I am facing same error as below.

"SELMGR: ComponentId '{A655606F-385B-4741-9EF6-B5731CEEBC31}' is registered to feature 'General', but is not present in the Component table. Removal of components from a feature is not supported!"

Any changes I need to make in the Components ? I am using Installshield 2019 R3 Edition and Basic MSI project.

 

Any solution for this issue ?Appreciate your support.

0 Kudos
Stefan_Krueger
Level 9

Could you statically add the file to your project? So InstallShield doesn't have to generate the GUID on the fly.

Stefan Krueger
InstallSite.org
0 Kudos
BranislavStp
Level 3

Hi,
Due to certain specific reasons we can't publish our application as single-file, which results in deployment composed of hundreds of dlls (besides the .exe file). We can't change that.

If you agree it would be rather exhausting to statically add and later maintain all those files in the IS project. That is why I'd like to ask if there is some other way to perform minor or major upgrade and avoid the exact same error described in the initial question?

0 Kudos

Addings multiple files with static linking can be done in a semi-automatic way. However, if the DLLs in your project change frequently( i.e. not just newer versions but DLLs with different file names) you should use a Major Upgrade, not a Small or minor update.

Stefan Krueger
InstallSite.org / InstallSite.de
0 Kudos

The issue I had was occurring when major upgrade was already in use. I did previously add "major upgrade" hoping it would help, but it did not.

That is actually what made this issue not ordinary - it happens with major upgrade included.

0 Kudos

That's weird. You are getting a SELMGR error in your log dispite the fact that you changed the ProductCode and increased the ProductVersion in any of the firt three fields?

Stefan Krueger
InstallSite.org / InstallSite.de
0 Kudos

I did not change ProductCode. If I change it then it won't be an update, it would be a new installation. That is not what I need.
At least that is my understanding of how InstallShield works.

0 Kudos

If you don't change the ProductCode it's a small or minor update. For a Major Upgrade you need to change the ProductCode butkeep the UpgradeCode unchanged. The Major Upgrade entry will make it an update (i.e. it uninstalls the old version and installs the new version)

Stefan Krueger
InstallSite.org / InstallSite.de
0 Kudos

Thank you!
I will try that.

0 Kudos