You have a component rules violation. Windows Installer requires
different components to have entirely independent contents.

You have various options: some good, some bad.

A. Require release N-1 be removed entirely to install release N. A major
upgrade can do this automatically.
B. Rename the COM dll in release N to be the same as it was in N-1 but
with a higher file version. Don't change the installer component
definition.
C. Create an entirely new installer component and new COM dll with
different registry keys, prog Ids, classes and interfaces and rewrite
the code to use it - if the COM component uses any system resources, it
will have to manage sharing of them with the previous version.
D. Keep everything as it is but require a repair to be run on the
remaining installer when one is removed. If you uninstall via a chainer,
you might be able to automate this. Be warned, if you install N followed
by N-1, the N-1 COM component will be the one being used (assuming the
COM ID didn't change).

Your choice will depend on which restrictions cannot be removed.

-----Original Message-----
From: Sohail Somani [mailto:soh...@taggedtype.net] 
Sent: 17 September 2010 19:09
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Same Component GUID, different key path

What are the implications of two files having the same component GUID 
but different key paths in different installers?

Some background:
  * Release N-1 has a COM component with component guid G and the key 
path COMDll${N-1}.dll with related registry keys as part of the
component
  * Release N has a COM component with the same COM interface guid along

with the same component guid G but the key path is instead
COMDll${N}.dll

Release N is written with WiX and N-1 uses InstallShield.

The reason the installer was done this way was because we found when 
uninstalling the trial of Release N, the registration would be removed 
for the new component and Release N-1 would no longer work. Bad! I 
realize this is a physical application design problem (the COM 
components are poorly versioned.)

The problem I have in the above situation is when I uninstall Release 
N-1 with Release N also installed, it uninstalls the component with guid

G. When this happens, Release N no longer works as the relevant registry

keys are deleted. This happens even though the reference count appears 
to be 2. I say appears to be because I see the following in the log
file:

RegClassInfoUnregister(Feature=NewFeature1,Component=${GUID}[~]2,FileNam
e=TOKEN,ClsId=...)

I'm presuming that the [~]2 means that there are two references to the 
GUID but I'm not sure. I can't really find any information on this log 
statement.

So my question is: is there a way to have the uninstall of Release N-1 
leave a component with a specific GUID "installed twice" in place even 
though the key paths are different? Is the key path causing a problem?

I also realize this is a MSI question more than a WiX question but I 
have found this user group to be very knowledgeable so I hope that this 
slightly tangential topic will be of interest to someone!

Thanks for your time :)


------------------------------------------------------------------------
------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
</pre>
<BR style="font-size:4px;">
<a href = "http://www.sdl.com";><img src="http://www.sdl.com/images/email 
logo_150dpi-01.png" alt="www.sdl.com" border="0"/></a>
<BR>
<font face="arial"  size="2"><a href = "http://www.sdl.com"; 
style="color:005740; font-weight: bold">www.sdl.com</a></font>
<BR>
<BR>
<font face="arial"  size="1" color="#736F6E">
<b>SDL PLC confidential, all rights reserved.</b>
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.<BR>
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.<BR>
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.
</font>



------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to