Hi all,

Is it possible to install a managed assembly together with an external
manifest into the GAC? First I thought the following WiX code would do this:

<Component Id="test_dll" Guid="<valid GUID>">
  <File Id="test.dll" Name="test.dll" Assembly=".net"
AssemblyManifest="test.dll.manifest"
        Source="..\bin\test.dll" KeyPath="yes" Vital="yes"/>
  <File Id="test.dll.manifest" Name="test.dll.manifest"
        Source="..\bin\test.dll.manifest" Vital="yes"/>
</Component>

Actually it compiles just fine but during the installation a message box
pops up that states:

"Error writing to file test.dll.manifest. Verify that you have access to
that directory.

The log file shows the following error:
MSI (s) (28:DC) [11:27:17:828]: Executing op:
AssemblyCopy(SourceName=9vfdzd5e.man|test.dll.manifest,SourceCabKey=test.dll.manifest.2F002201_1263_45D8_BCF6_177A798CDEB2,DestName=test.dll.manifest,Attributes=512,FileSize=372,PerTick=32768,,VerifyMedia=1,,,,,ComponentId={88679446-A145-493A-BCEA-BFE645E6F5A0},IsManifest=1,,,AssemblyMode=0,)
MSI (s) (28:DC) [11:27:17:828]: Source for file
'test.dll.manifest.2F002201_1263_45D8_BCF6_177A798CDEB2' is compressed
MSI (s) (28:B0) [11:27:17:828]: Assembly Error:The module '%1' was expected
to contain an assembly manifest.
MSI (s) (28:B0) [11:27:17:828]: Note: 1: 1935 2:  3: 0x80131018 4: IStream
5: Commit 6:  
MSI (s) (28:DC) [11:27:17:828]: Note: 1: 1304 2: test.dll.manifest 
MSI (s) (28:DC) [11:27:17:828]: Note: 1: 2205 2:  3: Error 
MSI (s) (28:DC) [11:27:17:828]: Note: 1: 2228 2:  3: Error 4: SELECT
`Message` FROM `Error` WHERE `Error` = 1304 
MSI (c) (CC:C4) [11:27:17:843]: Font created.  Charset: Req=0, Ret=0, Font:
Req=MS Shell Dlg, Ret=MS Shell Dlg

My manifest (test.dll.manifest) for the managed test.dll looks like this:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='test.Native' version='1.0.0.0'
processorArchitecture='x86' publicKeyToken='<public key token>'/>
    </dependentAssembly>
  </dependency>
</assembly>

The reason for the external manifest is that the dll is delivered by an
external vendor. The assembly is already signed and therefore I can't embed
the manifest into the assembly.

What am I doing wrong? Isn't it possible to store external manifests in the
Global assembly Cache?

Thanks!

-- 
View this message in context: 
http://n2.nabble.com/Installing-a-managed-assembly-with-external%28%21%29-manifest-into-the-GAC-tp1340404p1340404.html
Sent from the wix-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to