I have filed the following bug: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=2783049&group_id=105970
and included test cases and the binary where you can reproduce how light is
broken on the COM VB6 WiX output from Heat from version 3.0.4923 to
3.0.5224.

Please let me know if I can be of any help at all.


Roy Abou Assaly wrote:
> 
> 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-tp2686239p2736508.html
Sent from the wix-users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to