Heat can't extract the COM information from your executable but never
fear, all is not lost quite yet.
I've used a tool called RegSpy2 to harvest the /regserver information
from an out-of-process COM server executable in the past. It's available
at http://www.installsite.org/pages/en/msi/tips.htm (scroll down to the
section labelled "Capture Self-Registration Information")
It will output a .reg file which you'll need either manually convert
into WiX code or if you want to save yourself some time you can use
tallow.exe in WiX v2.0 then use WiXCop.exe on the .wxs tallow generates
to convert it to WiX v3.0/v3.5 code. Unfortunately heat.exe doesn't
support parsing .reg files into WiX code like tallow did/does so you
will need to download WiX v2.0 if you don't feel like manually writing
all the RegistryKey & RegistryValue entries yourself (you don't need to
install WiX v2.0 to use tallow, just download the binaries).

If you have the actual object which is wrapped in the executable you
could try running heat.exe on that & see if it generates the required
registration information which would save the hassle of the above
process.

Blair the source code for RegSpy2 is available on the above link. That
may help you modify heat.exe (or write an new tool separate from
heat.exe if that's what's easier). This comes up every couple of months
so there's definitely people who have a use for it (I'd certainly be
happier auto-generating WiX v3.0/v3.5 code than passing stuff through 3
different tools) & it might even discourage people from trying to take
the easy way out and do this type of thing using Custom Actions.


Palbinder Sandher 
Software Deployment & IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the <Virtual Environment>**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer
 

-----Original Message-----
From: Blair [mailto:os...@live.com] 
Sent: 29 October 2009 04:42
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Heat and .exe COM objects

Short answer: manually.

Long answer and call to action (if there is enough interest):

Unlike the import methods that RegSvr32.exe calls in DLLs, the
/regserver and /unregserver command line arguments are a convention that
while common is not universal. In addition, it is dangerous to run an
unknown executable since you never know if it even checks command-lines
or not (that danger of running foreign code also exists with DLLs, but
the likelihood of trouble is reduced since there isn't a lot you can do
in DllMain and it is unlikely that DllRegisterServer will be something
else).

It would be possible to extend heat to call the /regserver commandline
although that would require some testing and not-so-conventional process
bootstrapping, but the largest difficulty is in how to communicate to
the tool which EXEs it should probe this way in a scalable fashion.

If list members wish to propose ways to identify EXE files that should
be harvested for COM, I am open to compiling them and distilling some
proposals back to the group for further refinement. Send them to
os...@live.com with a subject of "COM .exe harvesting".

-----Original Message-----
From: JK E-Lists [mailto:jkli...@ifm-services.com]
Sent: Wednesday, October 28, 2009 11:07 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Heat and .exe COM objects

I have an old out-of-process COM object that is wrapped in an EXE. It
uses the /regserver and /unregserver command line parameters to register
and unregister the COM object. 

Heat appears to treat this as an ordinary executable, ignoring the fact
that it's a COM object. 

Can Heat extract the COM information, or do I just need to do it
manually? 

Thanks a lot!

jk

------------------------------------------------------------------------
----
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA is
the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and
stay ahead of the curve. Join us from November 9 - 12, 2009. Register
now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------
------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and
stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to