[wix-users] WiX & DCOM install, error LGHT0001

Sebastian Möller s.moeller at kip-deutschland.de
Tue Jul 3 12:42:45 PDT 2018


Hello,
I’m still struggling with installing a DCOM dll with WiX. Maybe I just explain what I have already:

I have an “Any CPU” built dll that works perfectly as DCOM if I register it from a batch script using “regsvcs.exe”. I use the 64 bit version of regsvcs.exe because my dll calls into another native 64 bit dll.

I now want to register from WiX, and have done the following steps:


  *   I created a WiX solution that works. It creates 3 separate MSI, only one needs the DCOM part.
  *   Use “tlbexp” with the “/win64” switch on the dll-file to get the tlb-file.
  *   Use “Heat.exe” on the dll-file to harvest the required component
  *   Use “Heat.exe” on the tlb-file to harvest the required component
  *   Adopt paths and id’s
  *   Combine all fragments and run the WiX project

After installing such MSI, I do get similar registry entries like the “regsvcs.exe”, but just in the “Wow6432Node”. Running the software after install, I get errors accessing the DCOM: “An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)”.
I think this is because my installer is 32bit, but I would need a 64bit to target the correct registry hives.

So, I added “Platform="x64"” to my installer project and added “Win64="yes"” to every component node in my project.

But now, I get errors I do not understand: “light.exe(0,0): Error LGHT0001: Item has already been added. Key in dictionary: 'regCF90477E35C350126B10A2341700802C' Key being added: 'regCF90477E35C350126B10A2341700802C'”
I checked all my files regarding this key, but cannot find one single occurrence.

Is anyone able to explain why this error is shown just after I changed the setup project from default (32bit, I guess) to 64 bit? Are there any other items I missed to get the DCOM registration working?

Any help is much appreciated,
Sebastian


More information about the wix-users mailing list