Wix - ComPlusAssembly - Failed to install type library

I am new to Wix, and I had a problem that I obviously cannot solve on my own, so any help would be greatly appreciated.

Quick Background: I represent a software vendor creating a complete suite of SOA-based applications for deployment in large enterprises. Our architecture consists of many layers that can be installed / updated independently, so I create several installers that make up from scratch (for example: platform, basic infrastructure components, service level, business layer, application layer, etc.).

Software Version:
-Wix 3.5.1309.0 (wix.dll)
- Visual Studio 2008, .Net 3.5
- OS Creation: Windows 2008 R2 Standard 64 bit
- OS Deployment: Windows 2008 Standard 32 bit

My problem is installing .Net assemblies in COM + applications. I keep getting the error "Unable to install type library". I read all the documentation I can find, and for several days now I have been working at Google. I find quite a few posts on this topic, but I still can not solve the problem.

To isolate the problem, I allocated this problem to a separate installer. First, I run the main installer:
1. Installs all assemblies in the GAC, including the one that must be installed in COM +.
2. Creation of local users and groups.
3. Create the target COM + application, including roles, etc.
4. Installs the target assembly and related typelib in the folder (to remove any GAC lookup problems)

This installer I can install / restore / remove, everything works fine.

Then I run a minimal installer containing only the problem that is trying:
1. Install the assembly in an existing COM + application (server), referencing the pre-installed DLLs and .tlb.

Installation error, and the log shows:

MSI (s) (AC:64) [19:16:01:127]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI1BAB.tmp, Entrypoint: ComPlusInstallExecute  
ComPlusInstallExecute:  ExceptionInfo: Code='0', Source='System.EnterpriseServices', Description='Could not install type library 'c:\Program Files\MyManufacturer\ComPlus\WDA.ServiceProviders.Update.11.tlb' into application 'WDA.ServiceProviders.Update.11'.', 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: MyAssembly  
ComPlusInstallExecute:  Error 0x80020009: Failed to register assemblies  
Action ended 19:16:02: InstallFinalize. Return value 3.  

, COM +, .
, , , . COM +, !

, typelib ? EnterpriseServices.RegistrationHelper typelib .

, :

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"  
     xmlns:complus="http://schemas.microsoft.com/wix/ComPlusExtension"  
>  
  <Product Id="48EDB258-BD84-47EF-94A2-B4950EE48139"  
             UpgradeCode="F29B8EBD-DFD1-4B7E-96FF-86842CAAE4A4"  
             Name="ComPlusInstalls"  
             Language="1033"  
             Version="1.0.0"  
             Manufacturer="MyManufacturer">    
    <Package Id="ABA41719-BC28-4A57-BA9A-58F4F3B2194F" InstallerVersion="200" Compressed="yes" />  
    <Media Id="1" Cabinet="WixTest.cab" EmbedCab="yes" />  
    <complus:ComPlusApplication Id="MyApplication" ApplicationId="1FCF220A-A1FE-44FE-BE91-B37341BA6D4A" />  
    <Directory Id="TARGETDIR" Name="SourceDir">  
      <Directory Id="ProgramFilesFolder">  
        <Directory Id="MyManufacturer" Name="MyManufacturer">  
          <Directory Id="INSTALLLOCATION" Name="ComPlus">  
            <Component Id="MyComponent" Guid="6D46A007-6669-487B-BAA0-DFA7314C141D" KeyPath="yes">  
              <complus:ComPlusAssembly Id="MyAssembly" Type=".net" Application="MyApplication"  
                                       RegisterInCommit="no" DllPathFromGAC="no"  
                                       DllPath="[INSTALLLOCATION]WDA.ServiceProviders.Update.11.dll"  
                                       TlbPath="[INSTALLLOCATION]WDA.ServiceProviders.Update.11.tlb"/>  
            </Component>  
          </Directory>  
        </Directory>  
      </Directory>  
    </Directory>  
    <Feature Id="MainFeature" Title="WixTest" Level="1" Absent="disallow" InstallDefault="local">  
      <ComponentRef Id="MyComponent" />  
    </Feature>  
  </Product>  
</Wix>  

Cheers,
-Nils

+3
2

. Ive Wix 3.5 3.6.2012.0, . ,

  • regsvcs
  • msi "",

?

+1

WiX v3.5. COM+. , COM +. - COM +.

- , , ?

0

Source: https://habr.com/ru/post/1730909/


All Articles