gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:18:47 31 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/37961753/

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