0

我有几个解决方案代表了我在工作中建立的代码框架。一种解决方案称为“框架”,另一种称为“扩展”。

我拆分它们的原因是“扩展”解决方案包含由扩展方法组成的项目,并且这些项目被组织起来,以便生成的程序集反映 .NET 程序集。

我为“扩展”创建了一个合并模块项目,以及一个使用它的安装程序。一切都很好而且很花哨 - 但现在我想为“框架”创建一个安装程序,它也使用相同的合并模块。因此,我想修改“扩展”安装程序以将“扩展”合并模块文件复制到 C :\Program Files\Common Files\Merge Modules,以便“框架”安装程序有一个众所周知的路径来引用“扩展”的合并模块,而不是引用我的 VS 解决方案所在的任何晦涩路径(原因是框架有时会构建在不同的机器上,而这些机器上的 VS 项目的路径可能会有所不同)。

MSDN 文档只是简单地解决了这个问题,只是说合并模块不能安装到文件系统中,而只能“使用”。

失败。

有谁知道解决这个问题的方法?自定义操作?Visual Studio 安装程序如何安装它的合并模块?

4

3 回答 3

0

当您创建 MergeModule 安装程序作为文件系统编辑器的一部分时,有一个名为“Module Retargetable Folder”的文件夹(这是默认名称,可以更改,也可以添加其他名称)。

构建 .msm 后,如果您转到主设置项目并将合并模块添加到其中,您可以在解决方案资源管理器中选择 .msm 并查看属性窗口应该有一个名为“MergeModuleProperties”的条目,展开此您应该会看到列出的所有可重定向文件夹,然后您可以将它们指向正确的位置。

于 2009-03-08T01:07:03.943 回答
0

简短的回答是:没有办法做到这一点,除非编写自己的安装框架。

于 2009-04-24T20:25:17.620 回答
0

晚会迟到了,但是

我通过重命名合并模块(更改文件扩展名),将其作为普通文件安装到文件系统,然后重命名已安装的文件来完成此操作。

于 2009-04-24T20:44:51.647 回答