【发布时间】:2010-12-17 18:43:50
【问题描述】:
我希望能够为我的应用程序提供一个测试 ClickOnce 服务器,用户可以在其中并行运行生产版本和测试版本。这可能吗?
我首先尝试在AssemblyInfo.cs 中使用以下内容,并且还更改了 ClickOnce 部署中的名称,尽管这一切都是用测试版本覆盖用户的生产版本。同样,当他们回到生产服务器时,它也会这样做。
#if DEBUG
[assembly: AssemblyTitle("Product Name - Test")]
#else
[assembly: AssemblyTitle("Product Name")]
#endif
我想我还应该澄清一下,这两个部署位置彼此不同,并且位于不同的服务器上。
更新
我还尝试根据调试模式为清单设置 GUID,但它再次不起作用(下面使用了虚拟 GUID)。
#if DEBUG
[assembly: Guid("AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA")]
#else
[assembly: Guid("BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB")]
#endif
这两者有什么区别?似乎安装程序将它们视为两个独立的程序,因为我得到了每个程序的安装确认。虽然,当我安装第二个时,“添加/删除程序”只看到后者,虽然前者仍在磁盘上,当我稍后重新安装它时,它只是简单地运行,但随后添加/删除程序切换回到原来的名字。
【问题讨论】:
-
在回答您关于 clickonce 应用程序身份的第二个问题时,这与程序集 guid 无关,而与您的发布所签署的密钥(pfx 文件)有关
-
@Rob 这很有趣,所以如果我有多个使用相同密钥签名的应用程序,这会导致 windows 认为它们是同一个应用程序吗?这对我来说似乎是一个严重的缺陷。
-
不,这不是问题。我安装了 7 个使用相同密钥签名的应用程序,这不是问题。
标签: c# .net deployment clickonce