如何解决合并模块依赖项

时间:2023-01-19 18:25:02

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...."

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

How can I resolve this?

我该如何解决这个问题?

1 个解决方案

#1


Firstly, I am assuming you are talking about VS deployment projects with Merge Modules added that produce Windows Installer 3.1 msi's.

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

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).

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

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.

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

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.

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

#1


Firstly, I am assuming you are talking about VS deployment projects with Merge Modules added that produce Windows Installer 3.1 msi's.

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

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).

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

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.

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

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.

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