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 WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users