1

我有一个带有先决条件的 Installshield Basic MSI 项目。一旦用户尝试运行 setup.exe 文件,它就会显示先决条件对话框,并且用户能够按预期成功安装先决条件。

成功安装应用程序后,用户删除先决条件之一。

稍后,用户尝试通过双击 setup.exe 来修改安装。在继续修改之前,安装会按预期显示先决条件对话框。

但是,如果用户尝试从添加/删除程序(使用更改选项)修改安装,则安装不会显示先决条件对话框。

我的问题如下: 1.为什么仅当用户单击 setup.exe 而不是从添加/删除程序时才显示先决条件对话框 2.当用户尝试从添加/删除程序和其中之一进行修改时,预期的行为是什么缺少先决条件。

4

2 回答 2

1

我不知道有任何设置工具可以在维护模式下重新访问先决条件。假设您一开始就安装了产品的所有先决条件,如果用户不知道它们为什么存在,并不意味着卸载它们。因此,预期的行为是您添加和删除功能。请记住,单独的 setup.exe 通常会安装先决条件,而不是 MSI。

这些问题包括:

许多先决条件需要管理员权限才能安装,如果应用程序的当前用户是受限用户,那么该用户将无法安装它们。

如果先决条件是从网络下载的,而用户现在已断开连接,则不会下载安装。

您可能要添加的功能实际上需要缺少的先决条件,这一点并不明显。我知道许多产品的先决条件仅由产品的一小部分使用,因此添加功能不一定需要先决条件之一,因此除非供应商允许您定义地图,说明“这些功能需要这些先决条件”然后再次运行先决条件检查是浪费时间。

于 2014-06-12T17:12:21.157 回答
0

从“添加/删除程序”面板运行安装程序时,行为会有所不同,因为您没有运行整个安装程序。

实际上,当您使用 InstallShield 构建 MSI 安装程序时,您会得到一个“ Disk 1 ”文件夹,其中包含:

  • YourProduct.msi
  • 一个setup.exe文件
  • 包含您的先决条件的文件夹,名为ISSetupPrerequisites

(或者你可以获得一个包含所有这些项目的 setup.exe 文件......)

如果我理解正确,先决条件不是由 msi 本身检查,而是由 setup.exe 检查。

当您通过“添加/删除程序”面板运行 MSI 时,Windows 会查找已自动存储在%WinDir%\Installer. 问题是那里只存储了 msi,但 setup.exe 和先决条件没有,因此无法以这种方式检查或安装先决条件。

如果您想在安装程序开始时检查某些条件以便在不满足先决条件时中断安装,那么您应该查看“LaunchCondition”操作。

http://helpnet.installshield.com/installshield16helplib/IHelpProdCondition.htm

于 2014-06-13T13:14:03.587 回答