Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

adding a new file (component) to a feature


5 replies to this topic

lizii

lizii
  • Full Members
  • 13 posts

Posted 09 August 2007 - 16:49

I am trying to add a new file to one of my MSI using patching.

So i have added to my only feature a new component (which is in reference to a new file) - but i get this error:

MSI (s) (10:4C) [12:28:00:310]: SELMGR: ComponentId '{4D4B21FB-7FAD-7972-B356-22264023C75B}' is registered to feature 'DefaultFeature', but is not present in the Component table. Removal of components from a feature is not supported!
MSI (s) (10:4C) [12:28:00:310]: SELMGR: Removal of a component from a feature is not supported

I am using VS2003.net and from what i understand under changing the product code - no you are not allowed to remove a component from a feature - that does need a change in the product code (thus a major upgrade) but you are allowed to add new files and remove files....


can someone explain this a bit more clearly?

Thanks!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 August 2007 - 19:29

Open your old msi file in Orca and search for the GUID 4D4B21FB-7FAD-7972-B356-22264023C75B in the Component table. Apparently you have either removed this component, or changed it's GUID.

lizii

lizii
  • Full Members
  • 13 posts

Posted 10 August 2007 - 10:18

** a bit of thought - and realised i was writing rubbish!


I found the file that didn't exist - a small .dll we removed.


However a quick question:

The first time i made a patch file between these two updates - it worked perfectly - although i was only changing a file over (a newer version of a executable).

This time i was adding a text file as well - but it didn't work.


Why would that be the case?

Edited by lizii, 10 August 2007 - 11:48.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 11 August 2007 - 17:21

If you break the comonent update rules (by removing a component) the result is undetermined.

lizii

lizii
  • Full Members
  • 13 posts

Posted 13 August 2007 - 08:51

Is what i thought would be the case. Thanks!


One final tiny question.


Can you recommend the best place to look to see how to remove a file "properly" - that is without breaking the component rules.


Thanks!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 15 August 2007 - 11:14

I think I've seen some discussions in some blogs, but nothing official.
My recommendation: leave the component in the setup, and keep the files in your setup (if they are large, replace them with 1 byte dummies). Now the trick: set the component condition to 0 (so it will always evaluate to FALSE) and make the component transitive ("re-evaluate condition" in InstallShield).