我有一个使用InstallScript MSI项目类型创建的设置。我们的客户遇到了这个问题,他想要一个快速的解决方案。
让我们假设我已经从一个路径启动了安装,如
C:\Setup_V_1.0.0931.1在这个文件夹中,我有Setup.exe,我将通过它来安装产品。安装后或过了几天,我将将路径更改为:
C:\New\Setup_V_1.0.0931.1这一次我想修改设置。实际上,我们支持三个功能:服务器、客户端和服务。
这一次我只想要客户端,而不是服务器。因此,我将点击Setup.exe或点击卸载图标在启动菜单,这将导致维护模式,您可以选择修改,修复或删除。我选择修改并选择这个特性,但是随着安装的进行,这个错误消息将弹出:
安装程序无法在指定路径或磁盘上找到文件。请检查是否插入了适当的磁盘或指定了一个新路径。无法找到文件c:\New\Setup_V_1.0.0931.1\setup.msi
然后,将显示另一个弹出窗口:
错误: 1706。无法为产品找到有效的源。Windows安装程序无法继续。
下一个错误消息是:
错误: 1603。安装过程中发生致命错误。有关详细信息,请参阅(Msi.chm)或MSDN。
但是如果我改变路径到它原来的位置,它就能正常工作。
我怎么才能解决这个问题?
在此注册表路径中签入的I事件:
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\。即使更改了这个值,安装仍然显示错误。
我为卸载信息找到了相同的注册表信息:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Product-Key}发布于 2011-03-06 05:36:30
在您的属性中,将ReinstallMode (或者重新安装我忘记了哪个)从omus更改为呕吐物
V表示缓存安装,因此它将把.msi文件放在c:\windows\installer中,以便以后可以使用。
发布于 2011-03-07 07:50:10
安装MSI时,Windows将原始MSI路径保存在注册表中(您提到的InstallSource条目)。在维护模式下运行MSI时,Windows安装程序将使用此路径查找安装数据(CAB文件)。
移动MSI时,存储在注册表中的路径不再有效,因此Windows安装程序无法找到安装数据。
一个可能的解决方案是使用控制面板中的“添加或删除程序”或“程序和功能”来修改安装。这样就可以使用缓存的MSI。
https://stackoverflow.com/questions/1497158
复制相似问题