C# 展开:并排安装原因“;已安装此产品的另一个版本";错误

C# 展开:并排安装原因“;已安装此产品的另一个版本";错误,c#,deployment,C#,Deployment,部署另一个C#Windows服务实例时,遇到以下错误消息: “已安装此产品的另一个版本。安装 此版本无法继续。若要配置或删除现有版本 在本产品的版本中,请使用“控制面板”上的“添加/删除程序” 现在的问题是,我们确实希望部署两个相同服务和版本的实例。 在这种情况下,每项服务为分销两种不同品牌的客户做相同的事情。与创建多租户应用程序相比,向现有产品销售附加许可证更容易 所以我的问题是: 改变服务产品代码的GUID是否是解决此问题的唯一方法 如果是这样的话,如何自动完成这项工作,这样我就不必在每次部

部署另一个C#Windows服务实例时,遇到以下错误消息:

“已安装此产品的另一个版本。安装 此版本无法继续。若要配置或删除现有版本 在本产品的版本中,请使用“控制面板”上的“添加/删除程序”

现在的问题是,我们确实希望部署两个相同服务和版本的实例。

在这种情况下,每项服务为分销两种不同品牌的客户做相同的事情。与创建多租户应用程序相比,向现有产品销售附加许可证更容易

所以我的问题是:

  • 改变服务产品代码的GUID是否是解决此问题的唯一方法

  • 如果是这样的话,如何自动完成这项工作,这样我就不必在每次部署时重新构建?此错误消息在安装向导之前生效,因此在安装期间使用自定义屏幕不是解决此问题的选项


  • 如果您在解决方案资源管理器中选择安装项目,然后查看“属性”选项卡,则会显示“检测已安装的较新版本”属性,如果将其设置为false,则该属性应该可以正常工作,但请记住将应用程序安装在不同的位置。

    两个服务实例之间的区别是什么?相同的功能,相同的配置架构,但不同的配置文件设置,即不同的仓库端点、不同的邮件收件人,每个品牌有不同的sql server实例等。请注意,windows将不允许使用相同的服务名称安装多个windows服务。服务名称在“安装向导”自定义框中更改,但此错误在此之前发生。不幸的是,detect-newer-version属性与这个用例没有关系。在这种情况下,Windows正在检测相同的实例版本。因此,这是一个并行问题,而不是升级/降级问题。如果我改变GUID,它可以工作,但我正在寻找一个自动的方法来做到这一点。这不是一个零售产品,所以也不是一个大问题,但最好不要每次我们用多品牌获得新客户时都重新编译部署项目。不,重写应用程序不划算。:)啊,这是我的错,我没有把问题读得太好,听起来你需要在服务中实现一种方法来使用多个设置?一些答案可能会有帮助。