我需要将 Microsoft Practices 企业库安装到生产服务器上的 GAC 中。我读过无数文章,其中指出实现此目的的方法是使用 wix 创建 msi,但我一生都无法弄清楚它是如何完成的。有没有办法创建一个引用企业库并将其安装到 gac 的简单应用程序?不需要安装其他任何东西。
最佳答案
IsWiX 将 GlobalParams.dll 安装到 GAC。您可以在这里找到源代码:
https://github.com/iswix-llc/iswix/blob/master/Installer/IsWiXNewAddInMM/IsWiXNewAddInMMcustom.wxs
<DirectoryRef Id="TARGETDIR">
<Directory Id="GlobalAssemblyCache" Name="GlobalAssemblyCache">
<Component Id="globalparams" Guid="{B07FF430-AAB4-49E6-8035-60142942F325}" Permanent="yes">
<File Id="globalparams" Source="..\Deploy\IsWiXNewAddIn\GlobalParams.dll" KeyPath="yes" Assembly=".net"/>
</Component>
</Directory>
</DirectoryRef>
我记得,目录 ID 并不重要。 Windows 安装程序在 GAC 方面不使用这些。诀窍是 1) DLL 必须具有强名称 2) Assembly=".net"属性将填充正确的 MSIAssembly 表,以便 MSI 将使用 MsiPublishAssemblies 操作与融合交互并在正确的 GAC 中注册程序集。/p>
关于wix - 使用 WiX 将 dll 安装到 gac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572130/