【问题标题】:InstallShield: Insert powershell custom action to install sequenceInstallShield:插入 powershell 自定义操作以安装序列
【发布时间】:2017-11-21 03:58:29
【问题描述】:

我有 installshield 项目和几个 powershell 自定义操作。 脚本更改文件系统(提取 zip 文件、复制文件、安装包等)。 我想知道我应该将它们放在安装顺序的哪个位置?

我查看了公会here,但他们没有报道。

我试图将它放在“InstallInitialize”之后的执行序列中,但这使我的脚本表现得很奇怪(一些 cmdlet 可以工作,而有些则不能)。

然后我在“ExecuteAction”之后将它们移至 UI 序列,这似乎工作正常,但我在某处读到我不应该在 UI 序列中放入任何更改文件系统的脚本..

什么地方合适?

谢谢

【问题讨论】:

    标签: installation windows-installer installshield


    【解决方案1】:

    不应将更改系统的事件放在 UI 序列中,原因之一是没有任何东西阻止您的用户跳过 UI 序列。

    在执行序列期间,您无法安装另一个 MSI 软件包。一些安装程序可能看起来像 .exe,但具有捆绑的 MSI。如果您的目标是处理安装先决条件,那么您可能需要使用 InstallShield Suite/Advanced UI 安装。这有一种管理多个安装先决条件的方法。我怀疑您遇到的问题是您尝试安装的某些软件包已嵌入 MSI 安装。

    【讨论】:

    • 感谢您的回答,也许您对软件包的看法是正确的,我会调查一下,但是我的一个 ps 脚本仅解压缩一个 zip 文件,并且当我插入时该脚本似乎也不起作用它在 InstallInitialize 之后.. (但是当我把它放在 ExecuteAction 之后它工作正常。关于这个有什么想法吗?
    • 由于您是 Windows 安装程序和 InstallShield 的新手,我不会在 InstallInitialize 和 InstallFinalize 之间添加任何自定义操作。这些动作在这两个标准动作之间的行为可能不同,这里就不多说了。如果您的自定义操作依赖于已安装的文件,请将其放在 InstallFinalize 之后。如果您的操作需要在文件放置到位之前运行,请将其放在 InstallInitialize 之前。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多