I basically have about 150 COM, ActiveX VB6 files. I ran heat to produce the
output and then modified them to produce 2 merge modules. I used heat to
avoid using the SelfRegCost attribute which as been frowned upon by many
here. I read Rob's blog about that :)
I ran into 2 warnings which were ICE33 and ICE82. I scoured the archive and
was able to find that I can safely ignore the ICE33 and ICE82 warnings. I
ran ORCA as well just to be safe which is why ICE33 showed up since I later
realized that WiX suppresses it by default.
examples are:
light.exe: warning LGHT1076 : ICE82: This action
ProgramMenuFolder.C7AC8538_65ED_4C2B_AE16_6291871D0918 has duplicate
sequence number 2 in the table InstallExecuteSequence
orca.exe: ICE33 WARNING Reg key reg7EF074BB025A80CBFE2087521879C64E is
used in an unsupported way. ProgId should be registered via the ProgId
table. This entry may overwrite a value created through that table.
After ignoring those 2 warning, I then proceeded to build my MSI and ran
into 2 more errors that were output by candle:
1. RequiredFiles.wxs(81) : error CNDL0010 : The Class/@Context attribute was
not found; it is required
when attribute {3E28E9C7-A265-41D6-B6EA-132B62605C75} is specified.
2. RequiredFiles.wxs(81) : error CNDL0010 : The Class/@Server attribute was
not found; it is required.
Initially, the entry looked like this:
<Class Id="{479066AE-099A-41CB-80F2-A54BD8E891EF}" Description="Contains a
List a ValueItem objects." Version="1.1">
<ProgId Id="GridEX20.JSValueList" Description="Contains a List a
ValueItem objects." />
</Class>
To solve 1, I added the attribute Context="InprocServer32" into the Class
element:
To solve 2, I added the attribute Server="NameOfDll.dll" into the Class
element:
<Class Id="{479066AE-099A-41CB-80F2-A54BD8E891EF}" Context="InprocServer32"
Server="GridEX20.ocx" Description="Contains a List a ValueItem objects."
Version="1.1">
<ProgId Id="GridEX20.JSValueList" Description="Contains a List a
ValueItem objects." />
</Class>
After doing all that, I ran into one more problem that involved ActiveX
DLLs. The error I got was a couple of times for the various ActiveX DLLs
and was produced by light:
RequiredFiles.wxs(500) : error LGHT0130 : The primary key
regB69CCE91B63112D0023E330FD9CCE948.B05A
204B_CEB8_4A82_B515_ADFB4AE6965C' is duplicated in table 'Registry'. Please
remove one of the entries or rename a part of the primary key to avoid the
collision.
I didn't quite understand this. The line it referred to was this:
<Class Id="{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}" Context="InprocServer32"
Server="GridEX20.ocx" Description="VBPropertyBag" ThreadingModel="apartment"
/>
I commented the line out and error was gone, but I have to admit I don't
know what I did!! Can someone please shed some light on this? I really
don't want to use SelfRegCost and take the easy way out ;)
--
View this message in context:
http://www.nabble.com/WiX-v3%3A-COM-on-Vista.--I-have-some-success%2C-but-worried-about-heat%27s-erroneous-output.-tf4510373.html#a12863906
Sent from the wix-users mailing list archive at Nabble.com.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users