wix - 使用 WiX 将 dll 安装到 gac
问题描述
我需要将 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 操作与 fusion 交互并在正确的 GAC 中注册程序集。
推荐阅读
- angular - 如何在 ionic 中更改选项卡时弹出所有选项卡堆栈?
- java - 从 Maven Central 添加 Open JavaFX 包时出现 gradle 问题
- docker - Docker swarm - 在许多管理器的情况下的请求流
- angular - Angular 2 异步验证器
- ios - 从越狱的 Iphone 4 读取传出的短信
- unity3d - Unity 中的 Vuforia 开发协议问题
- javascript - 绝对定位不滚动
- docker - Docker 共享常用的 bins 和 libs?
- javascript - Slack oauth.access API 返回 bad_redirect_uri 而不请求 redirect_uri
- python - 如何扩展损失函数 Pytorch