gpt4 book ai didi

macos - pkgbuild OSX,降级时强制安装失败

转载 作者:行者123 更新时间:2023-12-01 22:50:26 29 4
gpt4 key购买 nike

我根据 --component-plist 文件制作了一个包含 2 个组件的包。在 plist 文件中,我添加了以下标志以防止降级:

BundleIsVersionChecked: Don't install bundle if newer version on disk? (bool)

当我执行降级方案时,我收到以下消息:

Sep 15 11:42:49 os-x-10 installd[284]: PackageKit: Skipping component \ 
"com.my.driverAE21E" (<current_version>) because the version \
<new_version> is already installed at <my_component>

这是预料之中的,但不幸的是,安装继续进行,其他组件正在正确安装,preinstallpostintsall 脚本也是如此 - 所以我明白了两个版本的混合。

有没有什么方法可以在尝试实际安装它们之前强制执行组件版本验证,并在验证未通过的情况下停止安装过程。

更新:

另一种可以帮助我的方法是防止运行预安装和安装后脚本,以防尝试降级。

我看到了有关此问题的未回答问题的引用 here .

最佳答案

您需要做的是将版本检查添加到产品存档的 distribution.xml 中,然后在 JavaScript 代码中执行您想要的任何检查。这将允许您通过从检查函数返回 false 来阻止安装尽早开始。不能给你一个例子,因为我自己从来没有做过自定义版本检查,但是使用 my.target.receiptForIdentifier()system.compareVersions() 应该可以让你继续。

有关此事的更多信息:https://developer.apple.com/reference/installerjs (点击那里的“分发定义 XML 模式引用”链接获取 distribution.xml 描述)。

关于macos - pkgbuild OSX,降级时强制安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39591357/

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