Is there anything here that helps http://wix.tramontana.co.hu/tutorial/com-expression-syntax-miscellanea/com- applications - I wrote it a long time ago and am not sure if it is still valid but it might be a good starting point.
Neil >Sorry for this repost... but does anyone have a solution for this? >I'm close to write my own CA... > >Cheers, > >Davide > > >2014-04-04 8:22 GMT+02:00 Davide <[email protected]>: > >> Hi all, >> >> I spent a whole day with this problem now and would appreciate any help! >> >> To make it really easy I picked a sample COM+ Application from the MSDN >>( >> >>http://code.msdn.microsoft.com/windowsdesktop/Creating-a-COM-Component-7f >>fbab9b) >> and tried to register it in a COM+ application through WIX - without >> success :( >> >> Here is my code: >> >> <ComponentGroup Id="BinFileGroup"> >> <Component Id="MydotNet_dll" DiskId="1" >> Guid="082B553D-C3D1-4D10-BA4F-8048C84C9C99" Directory="DIR_Bin"> >> <Class Id="1F2642C4-BDE1-3B50-9DDE-F95747078F71" >> Context="InprocServer32" Description="COMPlusServicesExample.Customers" >> ThreadingModel="both" ForeignServer="mscoree.dll"> >> <ProgId Id="COMPlusServicesExample.Customers" >> Description="COMPlusServicesExample.Customers" /> >> </Class> >> <Class Id="94464148-E1E2-3F84-BEE9-7C72F0D0E01D" >> Context="InprocServer32" >>Description="COMPlusServicesExample.CustomersDB" >> ThreadingModel="both" ForeignServer="mscoree.dll"> >> <ProgId Id="COMPlusServicesExample.CustomersDB" >> Description="COMPlusServicesExample.CustomersDB" /> >> </Class> >> <File Id="COMPlusDotNet" Name="COMPlusDotNet.dll" >> Source="$(var.BinDir)\COMPlusDotNet.dll" KeyPath="yes" Assembly="no" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\Implemented >> Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" >>Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32\1.0.5206 >>.28472" >> Name="Class" Value="COMPlusServicesExample.Customers" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32\1.0.5206 >>.28472" >> Name="Assembly" Value="COMPlusDotNet, Version=1.0.5206.28472, >> Culture=neutral, PublicKeyToken=2cda2eca579c96b4" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32\1.0.5206 >>.28472" >> Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32\1.0.5206 >>.28472" >> Name="CodeBase" Value="file:///[#COMPlusDotNet]" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32" >> Name="Class" Value="COMPlusServicesExample.Customers" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32" >> Name="Assembly" Value="COMPlusDotNet, Version=1.0.5206.28472, >> Culture=neutral, PublicKeyToken=2cda2eca579c96b4" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32" >> Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{1F2642C4-BDE1-3B50-9DDE-F95747078F71}\InprocServer32" >> Name="CodeBase" Value="file:///[#COMPlusDotNet]" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\Implemented >> Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" >>Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32\1.0.5206 >>.28472" >> Name="Class" Value="COMPlusServicesExample.CustomersDB" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32\1.0.5206 >>.28472" >> Name="Assembly" Value="COMPlusDotNet, Version=1.0.5206.28472, >> Culture=neutral, PublicKeyToken=2cda2eca579c96b4" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32\1.0.5206 >>.28472" >> Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> >> <RegistryValue Root="HKCR" >> >>Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32\1.0.5206 >>.28472" >> Name="CodeBase" Value="file:///[#COMPlusDotNet]" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32" >> Name="Class" Value="COMPlusServicesExample.CustomersDB" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32" >> Name="Assembly" Value="COMPlusDotNet, Version=1.0.5206.28472, >> Culture=neutral, PublicKeyToken=2cda2eca579c96b4" Type="string" >> Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32" >> Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> >> <RegistryValue Root="HKCR" >> Key="CLSID\{94464148-E1E2-3F84-BEE9-7C72F0D0E01D}\InprocServer32" >> Name="CodeBase" Value="file:///[#COMPlusDotNet]" Type="string" >> Action="write" /> >> <complus:ComPlusApplication Id="MydotNet" Name="COM Plus >>Services >> Example"> >> <complus:ComPlusAssembly Id="COMPlusDotNet" >> TlbPath="[#COMPlusDotNetTlb]" Type=".net" DllPath="[#COMPlusDotNet]"> >> <complus:ComPlusComponent Id="CheckInterface" >> CLSID="1F2642C4-BDE1-3B50-9DDE-F95747078F71"/> >> <complus:ComPlusComponent Id="CheckInterface2" >> CLSID="94464148-E1E2-3F84-BEE9-7C72F0D0E01D"/> >> </complus:ComPlusAssembly> >> </complus:ComPlusApplication> >> </Component> >> <Component Id="MydotNet_tlb" DiskId="1" >> Guid="82E37437-9A85-4D93-985A-930AE8B5562B" Directory="DIR_Bin"> >> <File Id="COMPlusDotNetTlb" Name="COMPlusDotNet.tlb" >> Source="$(var.BinDir)\COMPlusDotNet.tlb" KeyPath="yes" > >> <TypeLib Id="{382C73BF-1243-3749-ABFC-EE2FF15CC160}" >> Description="This is an example for creating COM+ Serviced applications >>in >> .NET" HelpDirectory="DIR_Bin" Language="0" MajorVersion="1" >> MinorVersion="0"> >> <Interface Id="{4F36FC57-4D0A-38BF-9A0D-ECDD5C8E29A4}" >> Name="_Customers" >>ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" >> ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> >> <Interface Id="{68D25731-3207-39B0-AE21-CE6AD66A2F8A}" >> Name="_CustomersDB" >> ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" >> ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> >> </TypeLib> >> </File> >> </Component> >> </ComponentGroup> >> >> The error message I get: >> >> ComPlusInstallExecute: ExceptionInfo: Code='0', >> Source='System.EnterpriseServices', Description='Could not install type >> library 'C:\ApplDir\COMPlusDotNet.tlb' into application COM Plus >>Services >> Example', HelpFile='', HelpContext='0' >> ComPlusInstallExecute: Error 0x80020009: Failed to invoke >> RegistrationHelper.InstallAssembly() method >> ComPlusInstallExecute: Error 0x80020009: Failed to register .NET >>assembly >> ComPlusInstallExecute: Error 0x80020009: Failed to register assembly, >> key: COMPlusDotNet >> ComPlusInstallExecute: Error 0x80020009: Failed to register assemblies >> >> When I comment out this part: >> >> <complus:ComPlusAssembly Id="COMPlusDotNet" >> TlbPath="[#COMPlusDotNetTlb]" Type=".net" DllPath="[#COMPlusDotNet]"> >> <complus:ComPlusComponent Id="CheckInterface" >> CLSID="1F2642C4-BDE1-3B50-9DDE-F95747078F71"/> >> <complus:ComPlusComponent Id="CheckInterface2" >> CLSID="94464148-E1E2-3F84-BEE9-7C72F0D0E01D"/> >> </complus:ComPlusAssembly> >> >> An empty ComPlusApplication is created successfully. When I then >>manually >> install the tlb (or the dll) via MMC snap-in into this COM+ application >>it >> works fine. >> >> I also tried the DllPathFromGAC attribute and register the DLL in GAC, >>but >> it also failed with an error message, that the assembly name could not >>be >> found in the GAC. >> >> Thank you in advance! >> >> Best regards, >> >> Davide >> >-------------------------------------------------------------------------- >---- >Put Bad Developers to Shame >Dominate Development with Jenkins Continuous Integration >Continuously Automate Build, Test & Deployment >Start a new project now. Try Jenkins in the cloud. >http://p.sf.net/sfu/13600_Cloudbees >_______________________________________________ >WiX-users mailing list >[email protected] >https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ WiX-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wix-users

