Not sure about .NET COM components but I would run heat against the DLL not the 
typelib,
 
Neil

-----Original Message-----
From: Christian Hausknecht [mailto:chauskne...@beracom.de] 
Sent: 26 September 2014 11:05
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] How to deal with heat output for registering COM 
components?

Hello folks,

last time I dealt with extracting registering informations with heat is about 
two years ago and I used wix 3.6 for that. Unfortunately I lost the command 
that I used to extract those informations :(

Now I have a new .NET component, that I need to register on a client 
workstation with my MSI installer.

First I switched to wix 3.8  - as it seems plausible to me to get up to date.

So I tried to use heat again ...
"C:\Program Files (x86)\WiX Toolset v3.8\bin\heat.exe" file 
Bestellschnittstellen.tlb -out Bestellschnittstellen_reg.wxs -srd -gg -sfrag 
-suid -cg Bestellschnittstellen_CG

... and arrived to get a file like this one (shortened version):

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Fragment>
        <DirectoryRef Id="TARGETDIR" />
    </Fragment>
    <Fragment>
        <ComponentGroup Id="Bestellschnittstellen_CG">
            <Component Id="Bestellschnittstellen.tlb" Directory="TARGETDIR" 
Guid="{D052E472-3A43-4834-8947-67FC72350A90}">
                <File Id="Bestellschnittstellen.tlb" KeyPath="yes" 
Source="SourceDir\Bestellschnittstellen.tlb" />
                <RegistryValue Root="HKCR" 
Key="Interface\{0780A3A7-AB94-3B8C-869C-598DA74B53DD}\ProxyStubClsid32" 
Value="{00020424-0000-0000-C000-000000000046}" Type="string" Action="write" />
                <RegistryValue Root="HKCR" 
Key="Interface\{0780A3A7-AB94-3B8C-869C-598DA74B53DD}\TypeLib" 
Value="{74E0DC9F-AE47-47D4-A0D4-CACC527FCD4C}" Type="string" Action="write" />
                /<!-- ... much more entries ...-->
                <RegistryValue Root="HKCR" 
Key="TypeLib\{74E0DC9F-AE47-47D4-A0D4-CACC527FCD4C}\1.0\0\win32" 
Value="[#Bestellschnittstellen.tlb]" Type="string" Action="write" />
                <RegistryValue Root="HKCR" 
Key="TypeLib\{74E0DC9F-AE47-47D4-A0D4-CACC527FCD4C}\1.0" 
Value="Bestellschnittstellen" Type="string" Action="write" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>

My former files for registration looked like this:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Fragment>
        <ComponentGroup Id="ProfiSucheAdoNet_CG">
            <Component Id="cmpD588201B6DA724272123E389DE30E47E" 
Directory="TARGETDIR" Guid="{D15499E3-395C-418B-9ED3-264138F5D0EE}" 
KeyPath="yes">
                <RegistryKey Key="ProfiSucheAdoNet.CAdoNet" Root="HKCR">
                    <RegistryValue Value="ProfiSucheAdoNet.CAdoNet" 
Type="string" />
                </RegistryKey>
            </Component>
            <Component Id="cmpC63C3912BB5230843F8D05423F6E1DCB" 
Directory="TARGETDIR" Guid="{2A157D0D-1A4E-4E04-8EED-64491B5609B4}" 
KeyPath="yes">
                <RegistryKey Key="ProfiSucheAdoNet.CAdoNet\CLSID" Root="HKCR">
                    <RegistryValue 
Value="{6C95A0E3-0C3A-330E-897B-4136BEC814EE}" Type="string" />
                </RegistryKey>
            </Component>
// and so on

So why there is such a difference? Am I doing something wrong or has heat 
changed in the mean time?

And if my "new" attempt is the right thing, how can I deal with the tlb-File? 
If I integrate that fragment into my main-wxs-file and build the solution, I 
get this error:
Fehler   5             ICE69: 'Bestellschnittstellen.tlb' references invalid 
file.                J:\Projekte\<shortend...>\Bestellschnittstellen_reg.wxs    
        182         1             Profi32SQLClient

Sounds plausible as the referencd tlb-File is of course not included into the 
MSI-Project (yet).

So my questions are:

-          Can I achieve to get the second result, that my older attempt did 
produce? And if so, of course *how* can I tune heat to give me that? (I would 
appreciate that, because it worked good and I did not need to provide the 
tlb-file somewhere in the project)

-          If my new attempt is the right way these days, how do I include the 
tlb-file into my msi-project? What is the right / best way to do it?

I hope someone can help me!

Best regards,


Christian Hausknecht
Entwicklung

BeraCom
Beratung und Software-Entwicklung GmbH & Co. KG Weidestr. 134, 22083 Hamburg
T: +49 (0)40 547 241 - 27
F: +49 (0)40 547 241 - 60
M: chauskne...@beracom.de<mailto:chauskne...@beracom.de>
http://www.beracom.de

=============================================
Kommanditgesellschaft: Sitz Hamburg, RG Hamburg, HRA 90932 Persönlich haftende 
Gesellschafterin: BeraCom Beratung und Software-Entwicklung GmbH Sitz Hamburg, 
RG Hamburg, HRB 64844
Geschäftsführer: Arno Schaefer, Dr. Britta Kahlfuss Diese E-Mail ist 
vertraulich und exklusiv für den/die Adressaten bestimmt. Weiterleitung oder 
Kopieren, auch auszugsweise, darf nur mit ausdrücklicher schriftlicher 
Einwilligung des Absenders erfolgen. In jedem Fall ist sicherzustellen, dass 
keinerlei inhaltliche Veränderungen erfolgen. Der Absender ist von der 
Richtigkeit dieser Mail zum Zeitpunkt ihrer Erstellung überzeugt. Er und/oder 
sein Unternehmen übernimmt jedoch keine Haftung für ihre Richtigkeit.

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 
3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready 
for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 
Requirement 10 and 11.5 with EventLog Analyzer 
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to