Title: How do you register dlls (COM) with <msm> or >msi> tasks?

Hi Tom,

 

I think you will need to define a custom table.  There are two ways of registering COM components within an MSI database, one it to use the SelfReg table, which basically calls regsvr32 to self-register the component, the other is to manually create the entries your self (i.e. CLSID, Typelib etc).  Although Microsoft recommend against using the SelfReg table (see http://msdn.microsoft.com/library/default.asp?url="">), it is by far the easiest way, and I'm not sure how easy it is to get all the data you need to create the entries yourself from a VB COM Component. 

 

I haven't tried this, but I think you need something like:

 

<tables>

  <table name="SelfReg">

    <columns>

      <column name="File_" nullable="false" category="Identifier" key="true" />

      <column name="Cost" nullable="true" category="Integer" key="false" />

    </columns>

    <rows>

      <row>

        <columns>

          <column name="File_" value="*This needs to be the value from the first column in the File table*" />

        </columns>

      </row>

    </rows>

  </table>

</tables>

 

You will need to use the <forceid> tag in your component definition to set the ID for the file to be registered as you need this in the File column above (Otherwise <msi> will generate a random ID for the file)

 

HTH,

 

Bill

 

 

 

-----Original Message-----
From: Whitner, Tom [mailto:[EMAIL PROTECTED]
Sent: 28 February 2005 21:11
To: nant-users@lists.sourceforge.net
Subject: [Nant-users] How do you register dlls (COM) with <msm> or >msi> tasks?

 

Thanks,
Tom



UK businesses use 2 million tonnes of paper each year.
THINK before you PRINT this email.
______________________________________________________________

CONFIDENTIALITY NOTICE

This communication and the information it contains is intended for the person or organisation to
whom it is addressed. Its contents are confidential and may be protected in law. Unauthorised use,
copying or disclosure of any of it may be unlawful. If you are not the intended recipient, please
contact us immediately.

The contents of any attachments in this e-mail may contain software viruses, which could damage your
own computer system. While Marlborough Stirling has taken every reasonable precaution to minimise
this risk, we cannot accept liability for any damage, which you sustain as a result of software
viruses. You should carry out your own virus checking procedure before opening any attachment.

Marlborough Stirling plc, Registered in England and Wales
Registered No. 3008820,
Jessop House, Jessop Avenue, Cheltenham, Gloucestershire, GL50 3SH
Tel: 01242 547000 Fax: 01242 547100
http://www.marlborough-stirling.com

Reply via email to