我有一个使用InstallScript MSI项目类型创建的设置。我们的客户遇到了这个问题,他想要一个快速的解决方案。
假设我已经从类似的路径启动了安装
C:\Setup_V_1.0.0931.1
在这个文件夹中,我有 Setup.exe,我将通过它安装产品。安装后或经过几天后,我会将路径更改为:
C:\New\Setup_V_1.0.0931.1
这次我想修改设置。实际上,我们支持 3 个功能:服务器、客户端和服务。
这次我只想要客户端而不想要服务器。因此,我将单击 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}