如何使用共享依赖关系为.NET .DLL构建MSI?

时间:2018-02-13 11:27:16

标签: c# .net dll wix

我正在使用WIX创建两个单独的MSI安装包:#1。一个Web服务,#2。 .dll。两者都带有多个依赖项,其中一些是共享的,例如log4Net和其他。.dll将安装到GAC中,并将由Web服务和其他服务使用,即它是可重用的零件。

我不确定,是如何构建.dll MSI的安装,所以当服务使用.dll时,.NET运行时会出现并在其安装文件夹中查找它的依赖项在D:\DATA\XYZ下,可能不在此调用它的服务的文件夹中。

1 个答案:

答案 0 :(得分:0)

不要浪费你的时间去重复像log4net这样的deps,ROI对非荒谬的努力是无法估量的。对于安装在GAC中的那些,如果组件ID相同,则安装/卸载将按预期工作。如果app A随之安装,那么应用程序B随之安装,组件引用计数将增加到2。如果卸载其中任何一个,组件引用计数将减少但仍保持在0以上,将确认依赖项并保留该组件。