首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallShield 2008高级版中的安装错误

InstallShield 2008高级版中的安装错误
EN

Stack Overflow用户
提问于 2009-09-30 09:57:28
回答 2查看 1.6K关注 0票数 2

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

让我们假设我已经从一个路径启动了安装,如

代码语言:javascript
复制
C:\Setup_V_1.0.0931.1

在这个文件夹中,我有Setup.exe,我将通过它来安装产品。安装后或过了几天,我将将路径更改为:

代码语言:javascript
复制
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事件:

代码语言:javascript
复制
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\。即使更改了这个值,安装仍然显示错误。

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

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Product-Key}
EN

回答 2

Stack Overflow用户

发布于 2011-03-06 05:36:30

在您的属性中,将ReinstallMode (或者重新安装我忘记了哪个)从omus更改为呕吐物

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

票数 0
EN

Stack Overflow用户

发布于 2011-03-07 07:50:10

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1497158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档