Unable to register DLL using WiX

I am trying to register a DLL using WiX. Now I know and understand that I have to use heat and get it to extract registry information for me, but heat seems to fail with the following error message: heat.exe : warning HEAT5150 : Could not harvest data from a file that was expected to be a SelfReg DLL: C:\Users\seb\Desktop\Development\addin.dll. If this file does not support SelfReg you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: Unable to load file: C:\Users\seb\Desktop\Development\addin.dll, error: 193 heat.exe : warning HEAT5150 : Could not harvest data from a file that was expected to be a SelfReg DLL: C:\Users\seb\Desktop\Development\addin.dll. If this file does not support SelfReg you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: Unable to load file: C:\Users\seb\Desktop\Development\addin.dll, error: 193

I looked around and found this post that explains a little more about registering a DLL , but I would like, if possible, to avoid the self-registration route. I also mention how to manually register DLLs below, but I'm not too good at registry or COM objects that know well where I can get CLSID, ProgId and any other information that was mentioned.

If someone can point me in the right direction or explain to me what I need to do to start the DLL through heat , it would be very helpful.

+8
dll com wix
Sep 17 '12 at 16:16
source share
3 answers

I know this is deprecated, but I wanted to add the answer here: the reason for this is that the DLL you are trying to register is a 64-bit dll and Heat.exe is 32-bit, so it cannot load the DLL into its address space. Anyway, just specify the 32-bit version of the dll to create the wxs file, and you should not get this error.

+11
Dec 18 '14 at 19:34
source share

Is this an unmanaged / native dll? Do the Walker addicts have any missing dependencies? This usually means that the DllRegisterFunction failed and Heat was unable to retrieve the data. Fix this problem and you should get a good XML meta.

+1
Sep 17 '12 at 19:34
source share

I had the same problem with Wix heat.exe: warning HEAT5150: Failed to collect data from a file, which, as expected, would be a self-promoting DLL. The reason is that the dll could not find a load dependency. I think you should have similar problems. I ran the Process Monitor tool and applied a filter to capture the heat.exe event. I could find the root cause of the problem. Basically, I had to put all the dependency dlls in the same place where my main dll was. For your case, addin.dll needs to be pointed to the same place where the dependent dll is.

The following blog post about this warning helped me figure out the root cause.

http://marc.durdin.net/2009/12/case-of-hidden-exception.html ?

0
Sep 18 '12 at 21:14
source share



All Articles