我有几个代表我在工作中建立的代码框架的解决方案。一种称为“框架”的解决方案和另一种称为“扩展”的解决方案。
我拆分它们的原因是'Extensions'解决方案包含由扩展方法组成的项目,并且组织项目以便生成的程序集镜像.NET程序集。
我为'Extensions'创建了一个合并模块项目,以及一个使用它的安装程序。这一切都很好而且花花公子 - 但现在我想为'Framework'创建一个安装程序,它也使用相同的合并模块。因此,我想修改'Extensions'安装程序,将'Extensions'合并模块文件复制到C :\Program Files\Common Files\Merge Modules
,以便'Framework'安装程序有一个众所周知的路径来引用合并模块对于“扩展”,而不是引用我的VS解决方案所存在的任何模糊路径(原因是框架有时会构建在VS项目路径可能不同的不同机器上。)
MSDN文档仅对此进行了简要说明,并且仅表示合并模块无法安装到文件系统,但只能“消耗”。
失败。
有没有人知道解决这个问题的方法?自定义操作? Visual Studio安装程序如何安装它的合并模块?
答案 0 :(得分:0)
当您在文件系统编辑器中创建MergeModule安装程序时,会有一个名为“Module Retargetable Folder”的文件夹(这是默认名称,可以更改,也可以添加其他名称)。
如果你进入主安装项目并将合并模块添加到它,你可以在解决方案资源管理器中选择.msm并查看属性窗口,应该有一个名为“MergeModuleProperties”的条目。 ,展开它,您应该看到列出的所有可重新定位的文件夹,然后您可以将它们指向正确的位置。
答案 1 :(得分:0)
简短的回答是:除了编写自己的安装框架之外,没有办法做到这一点。
答案 2 :(得分:0)
晚会,但
我通过重命名合并模块(更改了文件扩展名),将其作为普通文件安装到文件系统,然后重命名已安装的文件来完成此操作。