Hi

I've been trying to get WiX to install some COM+ components for me and have
thus far failed miserably to get it to work. I've looked at the tutorial and
googled, binged, etc extensively but I am no further forward on day 4 than I
was on day 2 so I seek your help.

I exported TypeLibs from my .NET 1.1 components ( strong-named ) and
followed the example in the tutorial [
http://www.tramontana.co.hu/wix/lesson6.php]. If I drag and drop the
components into a COM+ package they register correctly - if I run RegSvcs on
the component they register correctly. They do contain COM+ configuration
information in their AssemblyInfo Class.

However, using WiX, I have not been able to get the components to install.

Here is my WiX file:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"; xmlns:complus="
http://schemas.microsoft.com/wix/ComPlusExtension";>

    <Product Id="406d427d-15c0-44fb-add4-5c8c4ddfb568"
           Name="Epms Store Installer"
           Language="1033"
           Version="1.0.0.0"
           Manufacturer="Atos Origin Uk Plc"
           UpgradeCode="1f4da752-1fe8-4057-aa42-d1d42fcc801b">

        <Package InstallerVersion="200" Compressed="yes" />

        <Media Id="1" Cabinet="StoreInstaller.cab" EmbedCab="yes" />

        <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="WixProvingDir" Name="WixProvingDirectory">
        <Directory Id="ePharmacyComponentDir" Name="ePharmacy (R3.2)">
          <Directory Id="ePharmacyConfigurationDirectory" Name="Config">
          </Directory>
        </Directory>
      </Directory>
        </Directory>

    <DirectoryRef Id="ePharmacyConfigurationDirectory">

      <Component Id="Store.Common.Config"
Guid="EA49030A-D488-489d-B8F2-69353935B876">
        <File Id="Store.Common.Config" KeyPath="yes" />
      </Component>

    </DirectoryRef>

    <DirectoryRef Id="ePharmacyComponentDir">

      <Component Id="Epms.Store.Common"
Guid="54AA84F7-4758-4b59-96DD-B1B4A3BB783E">

        <File Id="Epms.MiddleTier.Common.dll"
Name="Epms.MiddleTier.Common.dll" Assembly=".net" KeyPath="yes" />

        <complus:ComPlusApplication Id="ePMS.R3.2_Id" Name="ePharmacy.R3.2">
          <complus:ComPlusAssembly
            Id="Epms.MiddleTier.Common.dll"
            DllPathFromGAC="yes"
            RegisterInCommit="yes"
            Type=".net"
            TlbPath="[#Epms.MiddleTier.Common.tlb]">
          </complus:ComPlusAssembly>
        </complus:ComPlusApplication>

      </Component>


      <Component Id="Epms.Store.Components.tlb"
Guid="41C315E8-0BDA-4476-BE9A-18696C360332">

        <File Id="Epms.MiddleTier.Common.tlb"
Source="Epms.MiddleTier.Common.tlb" KeyPath="yes" />

      </Component>

    </DirectoryRef>

<Feature Id="ProductFeature" Title="Store_Installer" Level="1">
      <ComponentRef Id="Store.Common.Config"/>
      <ComponentRef Id="Epms.Store.Common" />
      <ComponentRef Id="Epms.Store.Components.tlb" />
        </Feature>
    </Product>
</Wix>

The log contains the following information about why this has failed:

ComPlusInstallExecuteCommit:  ExceptionInfo: Code='0',
Source='System.EnterpriseServices', Description='Could not install type
library 'C:\WixProvingDirectory\ePharmacy (R3.2)\Epms.MiddleTier.Common.tlb'
into application 'ePharmacy.R3.2'.', HelpFile='', HelpContext='0'
ComPlusInstallExecuteCommit:  Error 0x80020009: Failed to invoke
RegistrationHelper.InstallAssembly() method
ComPlusInstallExecuteCommit:  Error 0x80020009: Failed to register .NET
assembly
ComPlusInstallExecuteCommit:  Error 0x80020009: Failed to register assembly,
key: Epms.MiddleTier.Common.dll
ComPlusInstallExecuteCommit:  Error 0x80020009: Failed to register
assemblies
ComPlusRollbackInstallExecute:  ExceptionInfo: Code='0',
Source='System.EnterpriseServices', Description='Could not find application
'id={12fb473d-e3bc-44a5-90a4-212735500c4c}'.', HelpFile='', HelpContext='0'
ComPlusRollbackInstallExecute:  Error 0x80020009: Failed to invoke
RegistrationHelper.UninstallAssembly() method
ComPlusRollbackInstallExecute:  Error 0x80020009: Failed to unregister .NET
assembly
ComPlusRollbackInstallExecute:  Failed to unregister assembly, hr:
0x80020009, key: Epms.MiddleTier.Common.dll

Can you help?

I tried to install several COM+ components at once and ended up with some
problems there but even just pulling it back to the one component seems to
be problematic.

Thanks in advance,
Ciaran Roarty
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to