Hi all,
I'm experiencing some problems when I try to create a WIX installer for my
project which consist of the following parts:
*ComSrv.dll is a com component written in c++ which should be installed as a
COM+ application.
* NetAsm.dll is a .net assembly written in C# that will be accessed by
ComSrv.dll. NetAsm1.dll shall be placed in the GAC.
* NetSvcs.dll has the same specification as NetAsm.dll with the addition of
that it should handled as a serviced component.
In a manual install of the project we do the following:
1. Copy all the files to the target folder.
2. Run regasm on NetAsm.dll
3. Run regsvcs on NetSvcs.dll
4. Run regsvr32 on ComSrv.dll
5. Create a com+ application for comsrv.dll and add all of it's
components to the application.
This works fine.
Our approach for creating the WIX installer is:
1. Run tallow with the -s switch on the ComSrv.dll to extract it's
registry entries.
2. Run tallow with the -c switch on the NetAsm.dll and the NetSvcs.dll
to extract their entries.
3. Run TlbExp on NetAsm.dll and NetSvcs.dll to extract their type
libraries.
4. "Clean" the tallow output files, (set GUIDs and make component id's
unique)
5. Create a install.wxs file which includes the dll and tlb files, and
also references the registry output.
6. Put the Assembly=".net" attribute on NetAsm.dll and NetSvcs.dll to
put them in the GAC.
7. Add <pca:ComPlusApplication> entries to the wxs file according to
the tutorial on sourceforge for the netsvcs.dll and comsrv.dll.
8. Run candle and light and make sure no errors are thrown.
When I run the installer it fails and gives me the following lines:
RegisterComPlusAssemblies: DLL: NetSvcs, Version=6.0.0.1, Culture=neutral,
PublicKeyToken=DFEEB964FA83531D
ComPlusInstallExecuteCommit: Error 0x80070490: Failed to get path for
assembly from GAC
ComPlusInstallExecuteCommit: Error 0x80070490: Failed to register assembly,
key: EventsAssembly
ComPlusInstallExecuteCommit: Error 0x80070490: Failed to register
assemblies
Ok, so I remove the <pca:ComPlusApplication> entry for the NetSvcs.dll
assembly. Then the installer succeeds and the ComSrv.dll is installed as a
Com+ application with the correct components. I know that the communication
between the ComSrv.dll and the NetSvcs.dll won't work since I have not
installed the latter as a serviced component. But the application fails when
I try to call the NetAsm.dll from the ComSrv.dll as well.
My conclusion is that something that a manual regasm achieves is missing
from my wix setup. What is the correct way to mimic a regasm with wix?
Any help really appreciated!
/Tobias
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users