Visual studio 2010 如何在两个不同版本的vs 2010安装项目中具有不同的属性?

Visual studio 2010 如何在两个不同版本的vs 2010安装项目中具有不同的属性?,visual-studio-2010,installation,Visual Studio 2010,Installation,我希望在我的解决方案中只有一个安装项目,并且我希望能够在一台计算机上同时安装'release1'和'release2'版本(如debug/release1/release2版本)。因此,release1版本需要它自己的程序文件夹、产品代码和快捷方式等等,而release2版本也需要这些东西的独特版本 然而,安装项目似乎没有为两个不同的版本存储单独的属性。看起来所有不同的是输出路径,当然他们使用不同的生成的EXE 我要搬到Wix去解决这个问题吗?还是我在这里遗漏了一些简单的东西?这似乎有点愚蠢,你

我希望在我的解决方案中只有一个安装项目,并且我希望能够在一台计算机上同时安装'release1'和'release2'版本(如debug/release1/release2版本)。因此,release1版本需要它自己的程序文件夹、产品代码和快捷方式等等,而release2版本也需要这些东西的独特版本

然而,安装项目似乎没有为两个不同的版本存储单独的属性。看起来所有不同的是输出路径,当然他们使用不同的生成的EXE

我要搬到Wix去解决这个问题吗?还是我在这里遗漏了一些简单的东西?这似乎有点愚蠢,你不能配置安装程序为两个不同的版本做不同的事情。到目前为止,它看起来像我将不得不作出另一个安装项目,这将是恼人的,因为我不喜欢必须维护一个安装项目,更不用说2

提前谢谢你的帮助


Isaac创建两个不同的设置项目,一个称为生产设置,另一个称为测试设置,这可能是最干净的方法,因为它让操作系统相信您正在交付两个不同的产品,事实上就是这样

正如您自己所建议的,迁移到WiX确实具有这样的优势:您可以在两个安装项目中重用部件,例如,避免了两次维护相同的文件列表

当然,还有另一种选择。如果你的<强>生产设置和你的<强>测试设置项目几乎是相同的,并且你只需要交换一些GUIDs(例如产品或包代码,使MSI认为它们是不同的)创建一个简单的脚本,将第一个安装项目文件复制到第二个位置,并在该文件中交换guid(它只是一个XML文件)。因此,您只需维护第一个项目文件,并且可以通过重新运行脚本轻松地重新生成第二个项目文件


就我个人而言,我是在VBS中做这类事情的,但您也可以使用powershell,或者用任何能够进行XML或正则表达式处理的语言编写一个简单的工具

呃,你知道你不应该重新发布“调试”版本,对吗?如果您只需要能够在远程机器上调试程序,请包含“Release”版本的PDB文件。是的,我知道。出于这个问题的目的,假设我想要版本“Release1”和版本“Release2”。我知道调试版本不是优化的,什么也不是。我只是想告诉用户,如果他们点击这个快捷方式指向测试数据库,如果他们点击这里的另一个,它指向真正的数据库。这是你应该考虑原始问题的情况之一。而不是如何实施你已经确定的“解决方案”。为什么不创建不同的快捷方式,每个快捷方式指向不同的数据库位置?两者都将启动在发布模式下编译的可执行文件,您不必安装两个不同版本的软件,也不必尝试分发调试版本。安装程序不允许您单独处理这些版本并不愚蠢。您不应该安装调试版本。他们为什么要建立对它的支持?是的,我明白了,你不应该在发布时使用调试版本。。我将编辑该问题以消除这种混淆。无论如何,不,我真的需要安装两个不同的版本,因为它们可能不一样。在我这个月/下个月发布这个东西之后,他们将开始使用它来输入数据。还有一些重要的发展需要继续。所以,我需要一个测试版本,我可以经常更新,以获得关于我是否走在正确方向的反馈。同时,这个不错的稳定的产品版本没有bug。我想我的情况不正常。我会按照剧本去做。我现在真的没有时间学习WiX。我现在已经在用vbs脚本编辑msi后期构建了,我可以添加它。希望编辑我想编辑的东西不太难。谢谢你的帮助!