Title: How do you register dlls (COM) with or >msi> tasks?
I was pleasantly surprised to find that this happens automatically.


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 01, 2005 11:27 AM
To: Whitner, Tom
Subject: RE: [Nant-users] How do you register dlls (COM) with <msm> or >msi> tasks?

I'm not totally sure about that.  The documentation states that it is for registering Interop assemblies, and I have a feeling in the back of my mind that when I looked at it, it didn't do the same as registering a COM DLL, but you can give it a try and see.

 

Cheers,

 

Bill

 

 

-----Original Message-----
From: Whitner, Tom [mailto:[EMAIL PROTECTED]
Sent: 01 March 2005 15:04
To: Bill Martin
Subject: RE: [Nant-users] How do you register dlls (COM) with <msm> or >msi> tasks?

 

I have noticed that the <forceid> element also has a checkinterop attribute which states that it will "register" the file.  Does this have the same effect?

 

- Tom

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 01, 2005 2:56 AM
To: Whitner, Tom; [email protected]
Subject: RE: [Nant-users] 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:
[email protected]
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