2014-03-31 44 views
0

我刚安装了VS2013。由于不再有安装项目,我安装了InstallShield LE。我使用集成的导入向导,并希望任何较新的版本会自动更新使用VS安装项目创建的旧版本。那么,我曾经改变产品版本,这促使我改变产品代码,就是这样。现在我认为这也适用于InstallShield,所以我更新了产品版本并手动生成了产品代码。我安装了旧的应用程序,并试图用这个新的IS LE设置重新安装它。结果是:安装了两个应用程序,它们具有完全相同的名称和路径(它安装在同一目录中),但具有不同的版本。我可以在“程序和功能”中看到2个具有相同名称的程序。我检查了升级代码,两者都是一样的。我做错了什么?VisualStudio 2010安装项目到InstallShield的无缝转换

由于

回答

0

那么最后我们能够解决这个问题。您需要将条目放入“升级路径”部分。奇怪的是,您需要手动执行此操作,而不是由IS导入向导自动完成。

1

检查安装类型,即,每个用户或每个机器。两个版本的版本必须相同,否则Windows Installer将跳过删除旧版本,并且最终将在您的机器上安装两个版本。

安装新版本时创建的verbose log也应该会有所帮助,您可以在其中搜索FindRelatedProducts和RemoveExistingProducts标准操作,以了解为什么旧版本不会被删除。

+0

那么在VS2010安装项目中,有InstallAllUsers属性,它被设置为false。在新的(导入的)IS LE项目中,(在“常规信息”部分中)将ALLUSERS选项设置为1(每台计算机安装)。所以我将它改为“”,这应该是每用户安装,但它没有帮助。它仍然与旧版本一起安装。 – Aros

+0

我会尝试日志,看看它是否有任何帮助。然后我会让你知道。 – Aros

+0

好吧,在日志中我发现这个: MSI(c)(5C:40)[13:04:01:320]:Doing action:FindRelatedProducts Action 13:04:01:FindRelatedProducts。搜索相关应用程序 Action start 13:04:01:FindRelatedProducts。 MSI(c)(5C:40)[13:04:01:321]:FindRelatedProducts:当前安装是每个用户。产品“{7CF44E5C-B8DB-4BF0-8759-061FC61CD808}”的相关安装是每台计算机。正在跳过... 动作已结束13:04:01:FindRelatedProducts。返回值1. – Aros

相关问题