Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Heat.exe Cannot Harvest TypeLib Info from a 64-bit COM DLL

Tags:

com

wix

win64

I have a 64-bit-only COM DLL that I want to harvest typelib info from, using heat.exe. But when I attempt to do that, I get the error 193 (bad executable format). Is heat.exe 32-bit only, and cannot work with 64-bit executables? I found only one version of heat.exe on my machine.

Thanks.

like image 848
Max Avatar asked May 19 '14 17:05

Max


2 Answers

Unfortunately heat.exe is indeed 32-bit and can therefore only harvest 32-bit COM registrations: http://wixtoolset.org/issues/1661/

However 64-bit heat.exe extensions are discussed here: http://sourceforge.net/p/wix/mailman/message/30541133/ and code can be found here: https://wix.codeplex.com/SourceControl/network/forks/roberthyang/NewHeatExtension/latest

like image 66
Adrian Taylor Avatar answered Nov 20 '22 03:11

Adrian Taylor


Depending on what you are trying to do there may be a solution, if you just need to add the Win64 attribute you can do that through candle.exe see here

Otherwise you may also have found a known bug that is unresolved.

like image 2
Rick Bowerman Avatar answered Nov 20 '22 03:11

Rick Bowerman