gpt4 book ai didi

macos - 使用 pkgbuild 要求在组件包中重新启动

转载 作者:行者123 更新时间:2023-12-02 22:39:17 30 4
gpt4 key购买 nike

我正在更新一些构建脚本以使用 pkgbuild 而不是 PackageMaker,但我没有看到要求在组件包上重新启动的选项。在 PackageMaker 中,需要重启可以使用以下两种方法之一完成:

  • (传统兼容模式)在 Info.plist 中,将 IFPkgFlagRestartAction 设置为 RequiredRestart。
  • 在 PackageInfo 文件中,设置 pkg-info>postinstall-action 以重新启动。

我没有看到 pkgbuild 或其组件包 plist 有任何类似的选项。我知道,当我们使用 productbuild 构建我们的分发版时,我们可以选择使用分发文件的 pkg-ref>onConclusion 键在每个包的基础上要求重新启动。但这是现在唯一的方法吗(不使用 PackageMaker)?如果是这样,我想知道为什么将此要求从组件包中移出并移入依赖于它们的分发版中。在我看来,组件包在可以指定自己的要求时仍然更加模块化。

编辑:如果您在生成的 PackageInfo 中设置 postinstall-action="restart",您可以强制重启。现在的问题是如何教 pkgbuild 自动将其写入 PackageInfo 文件。

最佳答案

请注意,如果您使用 productbuild,如 this answer 中所示,您可以修改 distribution.xml 文件以要求重新启动,格式为 well-documented .下面是一个使用 sed 的例子:

sed -i "" -e 's/onConclusion="None"/onConclusion="RequireRestart"/' distribution.xml

这避免了扩展和压扁包,并允许您包含自定义背景、欢迎文本等。:-)

关于macos - 使用 pkgbuild 要求在组件包中重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980128/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com