如何解决合并模块依赖关系

时间:2009-04-15 07:13:42

标签: c# windows-installer merge-module

我正在尝试将合并模块添加到我的Windows Installer 3.1项目中。事实证明,它依赖于另一个合并模块...我也添加了它。但似乎第一个模块没有注册这个新的合并模块已被添加,所以我仍然收到一条警告:“无法找到带有签名的模块依赖...”

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

首先,我假设您正在讨论添加了合并模块的VS部署项目,这些项目会生成Windows Installer 3.1 msi。

事实证明,对于它引用的任何合并模块依赖项,添加的合并模块在同一目录中会很容易。

相反,它通过标准合并模块文件夹列表(例如C:\ Program Files \ Common Files \ Merge Modules)查找依赖项合并模块。因此,您可以将依赖项合并模块复制到该文件夹​​中,并且仅引用部署项目中的顶级依赖合并模块。然后它应解决所有合并模块依赖项(它们也将出现在部署项目的“Detected Dependencies”部分中。)

但是,我还要求在SVN中使用这些合并模块,并且不想要管理员访问权限来运行脚本将它们复制到Program Files文件夹中。

解决方案 - 您可以扩展合并模块依赖关系搜索文件夹以包含您自己的自定义文件夹。在部署项目中,调出Properties网格(而不是右键单击 - >属性窗口),并将包含依赖项Merge Modules的文件夹添加到SearchPath属性。它与部署项目相关,因此可以很好地满足我的SVN要求。