WiX добавляет файлы .net в GAC

У меня проблема с копированием файлов сборки в GAC с помощью msi installer file.. Мой проект требует, чтобы я добавил несколько файлов .netmodule вместе с файлом .dll в GAC. Но использование assembly = ".net" для файла .netmodule в элементе <File> вызывает ошибку (ошибка сборки).

Error   2   The assembly file 
'C:\Users\p486\Desktop\DCUBEII\GAC\Cdcube_inq_dynftrm_lnk_srv.netmodule' appears to be
invalid.  <br/>Please ensure this is a valid assembly file and that the user has the 
appropriate access rights to this file. <br/> More information: HRESULT:<br/> 
0x80131018  C:\Wix\MainProject\MainProject\GACFiles.wxs 16  1   MainProject

Как скопировать эти файлы .netmodule в GAC?

Если мы вручную перетащим файл .dll в папку C: \ Windows \ assembly, все файлы .netmodule будут скопированы автоматически, но если попытаться скопировать только файл .dll в GAC с помощью установщика, возникнет ошибка времени установки. Как скопировать эти файлы в GAC?


person Evuri    schedule 11.04.2013    source источник


Ответы (1)


Я не очень много играл с .netmodule файлами, но я понимаю, что .netmodule должен быть в том же Component, что и assembly. Например:

<Component>
   <File Assembly='.net' Source='path\to\assembly.dll' />
   <File Source='path\to\first.netmodule' />
   <File Source='path\to\second.netmodule' />
   ...
</Component>

Component будет GAC сборкой и нести вместе с ней все .netmodule файлы.

person Rob Mensching    schedule 11.04.2013
comment
У меня есть как минимум 100 файлов .netmodule. Можем ли мы собрать все эти ‹file› элементы в одном компоненте с помощью heat.exe? - person Evuri; 12.04.2013