wix - 使用 WiX 将 dll 安装到 gac

标签 wix windows-installer 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 操作与融合交互并在正确的 GAC 中注册程序集。/p>

关于wix - 使用 WiX 将 dll 安装到 gac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572130/

相关文章:

winforms - 如何设计安装程序以便将其用于自动化验收测试

windows - 如何在 32 位批处理脚本中运行 64 位版本的 Windows 实用程序(例如 msiexec)?

installation - 切换到 Inno Setup 安装完成页面

.net - 如何查看GAC中的文件夹和文件?

wix - 在标准 Wix 对话框中自定义文本

visual-studio-2012 - Wix 安装程序 - 如何在输出文件夹中添加带有 msi 的文件

gac - 如何在 Windows Server 2012 上检查 GAC 程序集详细信息?

dll - 当前上下文中不存在名称 'ViewBag'

wix - 如何在 Wix 中显示操作系统的非阻塞警告?

wix - Wix无法在卸载时删除文件