Sorry.  I'll explain the situation.  I sort of cried "wolf" in the beginning
since I used an XSLT to massage my XML after Heat produced the XML.  At that
point Candle wouldn't compile.  That was my mistake as confirmed by Brian
and yourself.  I fixed that error.  When it came to running Light to produce
my merge module, these were my findings:

In 3.0.4923 (my current build setup)

1. Run Heat : OK ($heat dir d:\foo -svb6 -sfrag -suid -gg -our
PrismShell.wxs)
2. Run Candle: ERROR:  
        [exec] D:\Builds\PRISM XP\Build 11.51.0000\Bin\PrismShell.wxs(180) :
error CNDL0010 : The Class/@Server attribute was not found; it is required.

Fixed by running a custom XSLT that added the Class/@Server attribute.

3. Run Light:  OK (PrismShell.msm produced and later incorporated into an
MSI).

In 3.0.5217 and in 3.0.5224 (I'm trying to upgrade to the latest version of
WiX)

1. Run Heat: OK ($heat dir d:\foo -svb6 -sfrag -suid -gg -our
PrismShell.wxs)
2. Run Candle: OK
3. Run Light:  Error:

     [exec] Microsoft (R) Windows Installer Xml Linker version 3.0.5217.0
     [exec] Copyright (C) Microsoft Corporation. All rights reserved.
     [exec]
     [exec] Updating file information.
     [exec] Creating cabinet files.
     [exec] Creating cabinet
'C:\Users\assalr\AppData\Local\Temp\fkjhmoud\#MergeModule.CABinet'.
     [exec] Generating database.
     [exec] D:\Builds\PRISM XP\Build 11.51.0000\Bin\PrismShell.wxs(19) :
error LGHT0130 : The primary key
'reg0387C011F3F8A22BDFC14B72466D9C9A.C7AC8538_65ED_4C2B_AE16_6291871D0918'
is duplicated in table 'Registry'.  Please remove one of the entries or
rename a part of the primary key to avoid the collision.

The WiX XML that is generating the above error looks like the same that you
had generated before:

<Component Id="DisplayFridayListUI.dll"
Guid="{821C19F9-E65C-48D5-BF11-07F593D7839B}">
        <File Id="DisplayFridayListUI.dll" KeyPath="yes"
Source="SourceDir\DisplayFridayListUI.dll">
                <TypeLib Id="{3515D627-3FA0-490F-9330-02A73023E0C0}"
Description="DisplayFridayListUI" HelpDirectory="PRISMMsi" Language="0"
MajorVersion="1" MinorVersion="0">
                        <Class Id="{9AF8DE3E-3FFB-4F1C-AA59-3DBAB1725BB9}"
Context="InprocServer32"
Description="DisplayFridayListUI.CDisplayFridayList"
ThreadingModel="apartment" Version="1.0" Programmable="yes">
                                <ProgId 
Id="DisplayFridayListUI.CDisplayFridayList"
Description="DisplayFridayListUI.CDisplayFridayList" />
                        </Class>
                        <Interface Id="{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}"
Name="CDisplayFridayList"
ProxyStubClassId="{00020424-0000-0000-C000-000000000046}"
ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
                </TypeLib>
        </File>
        <RegistryValue Root="HKCR"
Key="CLSID\{9AF8DE3E-3FFB-4F1C-AA59-3DBAB1725BB9}\Implemented
Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}" Value="" Type="string"
Action="write" />
        <RegistryValue Root="HKCR"
Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}\ProxyStubClsid"
Value="{00020424-0000-0000-C000-000000000046}" Type="string" Action="write"
/>
        <RegistryValue Root="HKCR"
Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}\ProxyStubClsid32"
Value="{00020424-0000-0000-C000-000000000046}" Type="string" Action="write"
/>
        <RegistryValue Root="HKCR"
Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}"
Value="_CDisplayFridayList" Type="string" Action="write" />
</Component>

Yes, it compiles, but it's not "linking" with Light.

This is where I am right now.  Please note that the XML that Heat produces
in 3.0.4923 is much, much bigger than in 3.0.5217 and 3.0.5224.  Let me know
if you need me to send you a binary (DisplayFridayListUI.dll) that can
reproduce this.

If I can't resolve this issue, I'm afraid I will have to stick with 3.0.4923
as 3.0.5224 has a break that I can't work around.

If anything is unclear, let me know.  Thanks again,

Roy


Neil Sleightholm wrote:
> 
> I am not sure I understand what you are asking, could you explain?
> 
> Neil
> 
> -----Original Message-----
> From: Roy Abou Assaly [mailto:royass...@gmail.com] 
> Sent: 24 April 2009 16:02
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Heat 3.0.4923 vs 3.0.5217 vb6 dll output
> 
> 
> Can anyone run light 3.0.5217 on this to confirm this?  The merge module
> simple won't build and that Interface element is indeed needed.
> 
> Thanks again.
> 
> 
> Roy Abou Assaly wrote:
>> 
>> Oh, and one more:
>> 
>> 00020420-0000-0000-C000-000000000046
>> 
>> After that, I was able to build my merge module and link them and
> create
>> my MSI which contains 129 vb6 com DLLs and various OCXs.  Again, my
>> experience in this area is weak, but the product seems to install and
>> uninstall without issues even though I remove those elements that I
> didn't
>> fully understand.
>> 
>> So I went and test the application, and of course, it threw an error
>> saying the Interface isn't registered, which makes sense since I
> removed
>> them.  So my ignorance has cost me.  I really need those interface
>> elements or else the application won't work.
>> 
>> 
>> Roy Abou Assaly wrote:
>>> 
>>> Still kind of stuck.  I was able to generate the exact xml as Brian
> did. 
>>> Candle compiled fine, but light is complaining.  I'm trying to
> generate a
>>> merge module out of it.  Getting this error:
>>> 
>>>      [exec] D:\Builds\PRISM XP\Build
> 11.51.0000\Bin\PrismShell.wxs(18) :
>>> error LGHT0130 : The primary key 'reg0387C011F3
>>> F8A22BDFC14B72466D9C9A.C7AC8538_65ED_4C2B_AE16_6291871D0918' is
>>> duplicated in table 'Registry'.  Please remove one of the entries or
>>> rename a part of the primary key to avoid the collision.
>>> 
>>> D:\Builds\PRISM XP\Build 11.51.0000\Bin>candle -v PrismShell.wxs
>>> Microsoft (R) Windows Installer Xml Compiler version 3.0.5217.0
>>> Copyright (C) Microsoft Corporation. All rights reserved.
>>> 
>>> PrismShell.wxs
>>> 
>>> D:\Builds\PRISM XP\Build 11.51.0000\Bin>light -v PrismShell.wixobj
>>> Microsoft (R) Windows Installer Xml Linker version 3.0.5217.0
>>> Copyright (C) Microsoft Corporation. All rights reserved.
>>> 
>>> Updating file information.
>>> Creating cabinet files.
>>> Creating cabinet
>>> 'C:\Users\roy\AppData\Local\Temp\jyewbz0r\#MergeModule.CABinet'.
>>> Generating database.
>>> D:\Builds\PRISM XP\Build 11.51.0000\Bin\PrismShell.wxs(18) : error
>>> LGHT0130 : The primary key 'reg0387C011F3F8A22BDFC14B
>>> 72466D9C9A.C7AC8538_65ED_4C2B_AE16_6291871D0918' is duplicated in
> table
>>> 'Registry'.  Please remove one of the entries or
>>>  rename a part of the primary key to avoid the collision.
>>> 
>>> My merge module looks like this:
>>> 
>>> <?xml version="1.0" encoding="utf-8"?>
>>> <Wix xmlns:wi="http://schemas.microsoft.com/wix/2006/wi";
>>> xmlns="http://schemas.microsoft.com/wix/2006/wi";>
>>>   <Module Id="PrismShell" Language="1033" Version="1.0.0.0">
>>>     <Package Id="C7AC8538-65ED-4C2B-AE16-6291871D0918"
> Description="PRISM
>>> Shell Module" Comments="PRISM Shell Merge Module" Manufacturer=Acme"
>>> InstallerVersion="300">
>>>     </Package>
>>>     <Icon Id="PRISM.ICO" SourceFile="PRISM.exe">
>>>     </Icon>
>>>     <Directory Id="TARGETDIR" Name="SourceDir">
>>>       <Directory Id="ProgramFilesFolder" Name="Program Files">
>>>         <Directory Id="HOCDir" Name="Acme">
>>>           <Directory Id="INSTALLLOCATION" Name="PRISM Shell">
>>>                     <Component Id="DisplayFridayListUI.dll"
>>> Guid="{77B6CDD1-B9C6-4497-B7F5-242B9783D6A3}">
>>>                             <File Id="DisplayFridayListUI.dll"
> KeyPath="yes"
>>> Source="SourceDir\DisplayFridayListUI.dll">
>>>                                     <TypeLib
> Id="{3515D627-3FA0-490F-9330-02A73023E0C0}"
>>> Description="DisplayFridayListUI" HelpDirectory="TARGETDIR"
> Language="0"
>>> MajorVersion="1" MinorVersion="0">
>>>                                             <Class
> Id="{9AF8DE3E-3FFB-4F1C-AA59-3DBAB1725BB9}"
>>> Context="InprocServer32"
>>> Description="DisplayFridayListUI.CDisplayFridayList"
>>> ThreadingModel="apartment" Version="1.0" Programmable="yes">
>>>                                                     <ProgId
> Id="DisplayFridayListUI.CDisplayFridayList"
>>> Description="DisplayFridayListUI.CDisplayFridayList" />
>>>                                             </Class>
>>>                                             <Interface
> Id="{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}"
>>> Name="CDisplayFridayList"
>>> ProxyStubClassId="{00020424-0000-0000-C000-000000000046}"
>>> ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
>>>                                     </TypeLib>
>>>                             </File>
>>>                             <RegistryValue Root="HKCR"
>>> Key="CLSID\{9AF8DE3E-3FFB-4F1C-AA59-3DBAB1725BB9}\Implemented
>>> Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}" Value=""
> Type="string"
>>> Action="write" />
>>>                             <RegistryValue Root="HKCR"
>>> Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}\ProxyStubClsid"
>>> Value="{00020424-0000-0000-C000-000000000046}" Type="string"
>>> Action="write" />
>>>                             <RegistryValue Root="HKCR"
>>>
> Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}\ProxyStubClsid32"
>>> Value="{00020424-0000-0000-C000-000000000046}" Type="string"
>>> Action="write" />
>>>                             <RegistryValue Root="HKCR"
>>> Key="Interface\{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}"
>>> Value="_CDisplayFridayList" Type="string" Action="write" />
>>>                     </Component>
>>>             
>>>           </Directory>
>>>         </Directory>
>>>       </Directory>
>>>       <Directory Id="ProgramMenuFolder" Name="Programs">
>>>         <Directory Id="ProgramMenuDir" Name="PRISM">
>>>         </Directory>
>>>       </Directory>
>>>       <Directory Id="DesktopFolder" SourceName="Desktop">
>>>       </Directory>
>>>     </Directory>
>>>   </Module>
>>> </Wix>
>>> 
>>> I then decided to simply remove the following in order to create my
> merge
>>> module:
>>> 
>>> <Interface Id="{2D3FD2B6-AF78-4DFD-A5C9-7CE97BC4A594}"
>>> Name="CDisplayFridayList"
>>> ProxyStubClassId="{00020424-0000-0000-C000-000000000046}"
>>> ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
>>> 
>>> 
>> 
>> 
> 
> -- 
> View this message in context:
> http://n2.nabble.com/Heat-3.0.4923-vs-3.0.5217-vb6-dll-output-tp2686239p
> 2692987.html
> Sent from the wix-users mailing list archive at Nabble.com.
> 
> 
> ------------------------------------------------------------------------
> ------
> Crystal Reports &#45; New Free Runtime and 30 Day Trial
> Check out the new simplified licensign option that enables unlimited
> royalty&#45;free distribution of the report engine for externally facing
> 
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> ------------------------------------------------------------------------------
> Crystal Reports &#45; New Free Runtime and 30 Day Trial
> Check out the new simplified licensign option that enables unlimited
> royalty&#45;free distribution of the report engine for externally facing 
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/Heat-3.0.4923-vs-3.0.5217-vb6-dll-output-tp2686239p2726014.html
Sent from the wix-users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to