从添加或删除程序启动时,不显示先决条件对话框

时间:2014-06-11 11:01:25

标签: windows-installer installshield prerequisites installshield-2012 basic-msi

我有一个具有先决条件的Installshield Basic MSI项目。用户尝试运行setup.exe文件后,将显示先决条件对话框,用户可以按预期成功安装必备组件。

成功安装应用程序后,用户将删除其中一个先决条件。

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

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

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

2 个答案:

答案 0 :(得分:1)

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

问题包括:

许多先决条件需要管理员权限才能安装,如果应用的当前用户是受限用户,则用户无论如何都无法安装它们。

如果从网络下载了先决条件,并且用户现已断开连接,则无法下载以进行安装。

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

答案 1 :(得分:0)

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

实际上,当您使用InstallShield构建MSI安装程序时,您会得到一个" 磁盘1 "文件夹,包含:

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

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

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

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

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

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