在InstallShield 2008专业版中安装错误

时间:2009-09-30 09:57:29

标签: installshield

我有一个使用 InstallScript MSI 项目类型创建的设置。我们的客户遇到了这个问题,他想要一个快速的解决方案。

假设我已经从

这样的路径启动了安装
C:\Setup_V_1.0.0931.1

在此文件夹中,我有Setup.exe,我将通过它安装产品。安装完成后或经过几天后,我会将路径更改为:

C:\New\Setup_V_1.0.0931.1

这次我要修改设置。实际上我们支持3个功能:服务器,客户端和服务。

这次我只想要Client而不是Server。因此,我将单击Setup.exe或单击启动菜单中的卸载图标,这将导致维护模式,您可以选择修改,修复或删除。我选择修改并选择该功能,但随着安装的进行,将弹出以下错误消息:

  

安装程序无法在指定的路径或磁盘上找到文件。请检查   插入正确的磁盘或指定新路径。无法   找到文件c:\ New \ Setup_V_1.0.0931.1 \ setup.msi

然后,将显示另一个弹出窗口:

  

错误:1706。无法找到产品的有效来源。 Windows   安装程序无法继续。

下一条错误消息是:

  

错误:1603。安装过程中出现致命错误。咨询Windows Installer   帮助(Msi.chm)或MSDN获取更多信息。

但是,如果我将路径更改为其原始位置,则可以正常工作。

我该如何解决这个问题?

我在此注册表路径中检查了事件:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\{Product-Key}

此密钥包含InstallProperties内的大量信息。有一个名为InstallSource的密钥,其值为C:\Setup_V_1.0.3909.1\。即使在更改此值后,installshiled仍然显示错误。

我找到了卸载信息的相同注册表信息:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Product-Key}

2 个答案:

答案 0 :(得分:0)

在你的属性中,从omus到vomus更改ReinstallMode(或者可能重新安装,我忘记了哪些)

v表示缓存您的安装,因此它会将您的.msi文件放在c:\ windows \ installer中,以便以后使用。

答案 1 :(得分:0)

安装MSI时,Windows Installer会将原始MSI路径保存在注册表中(您提到的InstallSource条目)。在维护模式下运行MSI时,Windows Installer将使用此路径查找安装数据(CAB文件)。

移动MSI时,存储在注册表中的路径不再有效,因此Windows Installer无法找到安装数据。

可能的解决方案是使用“控制面板”中的“添加或删除程序”或“程序和功能”来修改安装。这样就可以使用缓存的MSI。