如何解决合并模块依赖关系
我正在尝试将合并模块添加到我的 Windows Installer 3.1 项目中。 事实证明,它依赖于另一个合并模块......我也添加了该模块。 但似乎第一个模块没有注册这个新的合并模块已被添加,所以我仍然收到一条警告:“无法找到带有签名的模块依赖项......”
我该如何解决这个问题?
I'm trying to add a merge module to my windows installer 3.1 project. It turns out that it has a dependency to another merge module ... which I also have added. But it seems like the first module doesn't register that this new merge module has been added, so I still get a warning that says: "Unable to find module dependency with signature...."
How can I resolve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,我假设您正在谈论添加了合并模块并生成 Windows Installer 3.1 msi 的 VS 部署项目。
事实证明,在添加的合并模块所在的目录中查找它引用的任何合并模块依赖项太容易了。
相反,它会遍历标准合并模块文件夹列表(例如 C:\Program Files\Common Files\Merge Modules)来查找依赖项合并模块。 因此,您可以将依赖项合并模块复制到该文件夹中,并且仅在部署项目中引用顶部依赖项合并模块。 然后,它应该解决其所有合并模块依赖项(它们也将出现在部署项目的“检测到的依赖项”部分中)。
但是,我还有一个进一步的要求,即我希望将这些合并模块放入 SVN 中,并且不希望需要管理员访问权限来运行脚本以将它们复制到该 Program Files 文件夹中。
解决方案 - 您可以扩展合并模块依赖项搜索文件夹以包含您自己的自定义文件夹。 在部署项目上,调出属性网格(不是右键单击 -> 属性窗口)并将包含依赖项 Merge Modules 的文件夹添加到
SearchPath
属性中。 它与部署项目相关,因此可以很好地满足我的 SVN 要求。Firstly, I am assuming you are talking about VS deployment projects with Merge Modules added that produce Windows Installer 3.1 msi's.
Turns out it would be way too easy to look in the same directory as the added Merge Module for any Merge Module dependencies it references.
Instead, it goes through the list of standard Merge Module folders (e.g. C:\Program Files\Common Files\Merge Modules) looking for the dependency merge modules. So you can copy the dependency merge modules into that folder, and only reference the top dependent Merge Module(s) in your deployment project. It should then resolve all of its merge module dependencies (they will also appear in the 'Detected Dependencies' section of the deployment project).
However, I had a further requirement that I wanted these merge modules in SVN, and didn't want to require admin access to run a script to copy them into that Program Files folder.
The solution - you can extend the Merge Module dependency search folders to include your own custom folders. On the deployment project, bring up the Properties grid (not the right click -> properties window) and add the folder that contains the dependency Merge Modules to the
SearchPath
property. It works relative to the deployment project and so worked nicely with my SVN requirements.