2

我有一个为我们公司编写的大型 MDI Suite 应用程序。它安装在两台 Citrix 服务器上,然后由整个工厂的数百个 Windows 终端访问。

在安装更新之前,我(唯一的开发人员)测试我的新例程,直到我满意它会按照我的预期执行。这通常是有效的,但它让集团经理担心。

他希望我安装一个 BETA 版本,其他人可以在我们的工作环境中对其进行测试。

为此,我需要在 Citrix 服务器机器上安装我的应用程序两次,以便我们的员工可以对其进行测试(对吗?);但是,当我尝试在同一台 PC(即 Citrix 服务器)上再次安装该应用程序时,Windows 说它已经安装。

VS2008 设置和部署安装程序有一个产品代码。我应该改变这个吗?我需要注意哪些问题?我是否需要跟踪两个产品代码(一个用于测试,一个用于发布)?

如何在 1 台 PC 上安装同一应用程序的 2 个工作版本?

4

4 回答 4

3

最安全的方法是创建新的 ProductCode、新的 UpgradeCode、新的 TARGETDIR 并确保没有共享目录(除了系统目录)。让 Windows Installer 认为它是一个完全不同的产品。

更改 ProductCode 而不是 UpgradeCode 可能会导致现有组件升级。当安装运行FindRelatedProducts操作时,它将找到具有匹配升级代码的任何内容并尝试升级匹配的组件。

我非常同意 cutrisk - 首先将整个事情放在其他地方(安装发布版本,升级到 BETA,打开它进行内部测试等)然后小心地向客户推出。

相信我,您不希望您的安装程序因为您的 BETA“升级”某些组件而导致整个系统崩溃而关闭其他人的生产服务。

于 2009-08-21T16:03:28.733 回答
1

由于您想允许应该工作的双重安装。我会制作一个新的“测试版”安装程序,该安装程序可能针对不同的安装目录,以尽量减少溢出。

这是MSDN 关于更改产品代码的文章,以获取更多信息。

另一个可能的角度,可能要简单得多.....是否有可以托管的测试/登台 Citrix 服务器?这就是我们在这里推出更改的方式。但这最终取决于您在农场中的 Citrix 环境/服务器......

哦,关于跟踪产品代码,根据我的经验(对或错),这并不像确保您的UpgradeCode保持同步那么重要。

于 2009-08-21T15:24:28.387 回答
1

我会给 beta .exe 起一个不同的名称:app_beta.exe。您可以使用相同的设置来部署它。您还可以使用每个版本的 beta 或 prod 版本不断更改您的 upgradeCode——它们可以重叠。

产品:2.0

测试版:2.1

测试版:2.2

产品更新:2.3

下一个测试版:2.4

于 2009-08-21T16:04:38.403 回答
0

InstallShield 2009 及更高版本支持“多实例”:

例如: http ://blog.deploymentengineering.com/2008/03/installshield-2009-beta-part-i.html

于 2009-08-31T00:30:28.927 回答