If you need a typelib you'll have to explicitly generated one with tlbexp or 
equivalent, and add the typelibrary tag to that when you install it.

Phil Wilson

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jaco Pretorius
Sent: Wednesday, April 23, 2008 8:46 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] RegAsm in Wix

Hello

I'm trying to register an assembly for com interop.  I used the magic of tallow 
to create a fragment which seems to take care of all the registry entries.

The fragment looks something like this:

                      <File Id="ScriptDll" Name="TASCRI_1.DLL" 
LongName="TAScriptAPI.dll" Source="..\TAScriptAPI\bin\Release\TAScriptAPI.dll" 
/>
                      <File Id="ScriptTlb" Name="TASCRI_1.TLB" 
LongName="TAScriptAPI.tlb" Source="..\TAScriptAPI\bin\Release\TAScriptAPI.tlb" 
/>
                      <Registry Root="HKCR" Key="TAScriptAPI.ScriptAPI" 
Value="TAScriptAPI.ScriptAPI" Type="string" />
                      <Registry Root="HKCR" Key="TAScriptAPI.ScriptAPI\CLSID" 
Value="{94B68427-23BE-3B47-A3C9-928D32633723}" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}" 
Value="TAScriptAPI.ScriptAPI" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" 
Value="mscoree.dll" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" 
Name="ThreadingModel" Value="Both" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" Name="Class" 
Value="TAScriptAPI.ScriptAPI" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" 
Name="Assembly" Value="TAScriptAPI, Version=1.0.0.6, Culture=neutral, 
PublicKeyToken=ee37e07482172a30" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" 
Name="RuntimeVersion" Value="v2.0.50727" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32" 
Name="CodeBase" Value="file:///[INSTALLLOCATION]TAScriptAPI.dll" Type="string" 
/>
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32\1.0.0.6" 
Name="Class" Value="TAScriptAPI.ScriptAPI" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32\1.0.0.6" 
Name="Assembly" Value="TAScriptAPI, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=ee37e07482172a30" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32\1.0.0.6" 
Name="RuntimeVersion" Value="v2.0.50727" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\InprocServer32\1.0.0.6" 
Name="CodeBase" Value="file:///[INSTALLLOCATION]TAScriptAPI.dll" Type="string" 
/>
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\ProgId" 
Value="TAScriptAPI.ScriptAPI" Type="string" />
                      <Registry Root="HKCR" 
Key="CLSID\{94B68427-23BE-3B47-A3C9-928D32633723}\Implemented 
Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" />

I just had to include the tlb file, which is used to reference against, but is 
not used at run-time, just compile-time.

I ran regasm and had it output to a .reg file and compared all the entries - 
they matched up.  So it should be all good.  The only problem is, it doesn't.  
If I install and try and use the COM object it doesn't work. If I run regasm on 
my dll it works again.  So as far as I can tell regasm does something else 
apart from only the registry entries.  Am I wrong here?

I tried to put a typelib entry inside the File tag for my dll, but that just 
caused the installer to fail.  I'm not even sure that I should be use the 
typelib tag.

Thanks in advance
Jaco



No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.3/1390 - Release Date: 21/04/2008 
16:23
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to