【发布时间】:2014-11-27 04:08:54
【问题描述】:
我正在使用 InstallShield AdminStudio 2014(集成在 VS 中,但我也可以单独编辑),如果应用程序在安装前打开,我想关闭它。我找到了自定义操作 KillProcess,并且它有效,但是,它是一个非 UI 立即终止进程,没有任何问题。我看到内置的 FilesInUse 对话框,我们大多数人之前在运行安装时都看到过,警告我们关闭列出的应用程序,然后在关闭它们后继续按 RETRY 按钮。问题是,我似乎无法在线找到任何文档或帖子,即使在用户指南和有关如何填充列表的示例安装中也是如此;以及在那之后还需要采取哪些其他措施(如果有的话)。我能够将对话框放在 UI 序列中,但是当我选择重试时,它会立即结束安装,忽略继续。所以我知道我错过了一些东西。至少我如何填充文件列表。我知道有些事情并不完全显而易见,例如 KillProcess 要求您填充一个以分号分隔的名为 ISTermiateProcesses 的属性,而不是自定义操作的属性。
对此的任何帮助将不胜感激。我已经联系了已知的 IS 用户,他们也不知道如何使用此功能,稍后进行多次搜索,我将在此处发布。这是为 QA 准备好项目的最后一步。
提前谢谢...
【问题讨论】:
-
FilesInUse 对话框是一个 Windows 安装程序,Windows 将使用它可以发现的正在使用将被替换的文件的进程填充它。一般来说,您不需要填充它。旧版本的 Windows 不善于检测使用要替换的文件的进程。如果 Windows 没有发现它会影响您的安装,那么您为什么要终止该进程并不明显,除非您的操作系统版本较旧。
-
我正在更新应用程序的配置文件,在应用程序重新启动之前无法使用我已安装的部分。该应用程序是 Firefox,安装为我们刚刚选择安装的 web 应用程序添加了证书例外。如果没有关闭并重新启动,则继续到下一页将无法正常工作。 Chrome 和 IE 不需要重新启动即可继续,但如果它们使用 FF,它们会这样做。不过,您的回答说明了很多。
-
如果您可以发布为答案,我将标记为已回答。我没有意识到对话框是根据内存中的内容和安装中的组件自动填充的。
-
完成......
标签: installation windows-installer installshield