【问题标题】:Mac Installer : How to determine if pkg installation is intercativeMac 安装程序:如何确定包安装是否是交互式的
【发布时间】:2020-05-20 00:15:44
【问题描述】:

Mac 安装程序:如果是交互式安装,我想在安装后脚本 中执行某些操作(弹出对话框)。 (不通过 MDM 或命令行)

如何在我的安装后脚本中确定安装是否是交互式的?

【问题讨论】:

    标签: macos installation silent-installer post-install


    【解决方案1】:

    也许将来会对某人有所帮助:

    有 2 个选项: (可以结合这两个选项来获得完整的解决方案,取决于它的需求)

    1. macos 安装程序设置的环境变量之一是标志 COMMAND_LINE_INSTALL,如果从终端执行安装程序,则该标志设置为 1。

    就我而言,我只需要检查 COMMAND_LINE_INSTALL 是否存在,如果不存在 - 这意味着这是交互式安装。

    重要提示:此环境变量存在且 value=1 仅在从终端(命令行)安装的情况下。

    在从 MDM 安装期间,此变量不存在

    ================================================ ============================

    1. 另一种解决方案(帮助我确定安装是否来自 MDM):

    从安装后脚本:运行 ps 并检查“/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer”是否存在

    如果是 - 这意味着安装是交互式的(通过 mac 安装程序应用程序)。

    我使用的线条:

    INSTALLER_APP_PATH ="/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer"
    
    if ps aux | grep -v grep | grep -q "$INSTALLER_APP_PATH"
    then
         echo "Interactive installation"
    else
        echo "Not an interactive installation"
    fi
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 2015-10-21
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      相关资源
      最近更新 更多