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

Understanding SELMGR Errors


5 replies to this topic

matrot

matrot
  • Full Members
  • 32 posts

Posted 08 January 2008 - 17:42

Hello,
It's been a while since my last visit.

I'm working on an InstallShield MSI project that is several years old, for which best practices were not followed ! To make it short, components have been removed from features over time !

This ends now with entire features leaved unchanged during a minorupgrade.

SELMGR erros are very useful, but I think that, sometimes, messages are incorrect. For example :

MSI © (5C:64) [17:15:19:872]: SELMGR: ComponentId '{62846705-2671-4547-AB45-854DCC93B3C7}' is registered to feature 'Shared_Components', but is not present in the Component table. Removal of components from a feature is not supported!

What are we talking about ? The component table of the installed product, or the component table that is coming with the new installation ? For this message, the GUID exists in the component table.

I've recreated missing components with the same GUID found in the verbose log. Sometimes it's working, all components in the feature are now correctly reinstalled. But for some features this is not working.

Any Help appreciated.
TIA.

Olivier.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 January 2008 - 17:49

The message means that ComponentId '{62846705-2671-4547-AB45-854DCC93B3C7}' exists in the installed version and is atatched to feature 'Shared_Components'. However in the new version you are about to install this comopnent is not included, or not attached to feature 'Shared_Components'.

The cleanest way to solve this mess would be a Major Upgrade (change ProductCode).

matrot

matrot
  • Full Members
  • 32 posts

Posted 09 January 2008 - 08:43

You are right, the GUID is not included in the latest version. In fact it comes from a merge module that was removed ! (MSXML4).

Now I would like to add it back (to restore minor upgrade), but make sure that it is not installed anymore in a fresh installation. It is replaced by MSXML6. How can I do that ?

TIA.

Edited by matrot, 09 January 2008 - 08:43.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 10 January 2008 - 13:41

dd a component with that GUID (and the same key path as in the original install). For this component, specify a condition of 0 (zero) to make sure it will never be installed. This might cause the component to be removed if it's already installed!

Romain

Romain
  • Full Members
  • 11 posts

Posted 17 November 2010 - 15:19

ok, I could do that by detecting the components that are removed from the previous version but I need to store all the component guid that have been used by any old package and automate a process to create them inside the msi.
I must be sure to update all previous package to new one.
It is easy when we have few package and components. In my case I have about 1000 components and one package per day.

I am trying to change my update process by changing the product code

But now when I start the new package over a previous package, the installer doesn't detected my previously installed package and I have 2 products installed with the same upgrade code.

Did I forget anything?

Romain

Romain

Romain
  • Full Members
  • 11 posts

Posted 17 November 2010 - 15:33

oups, this is not the good post

Romain