Macos 如何判断我的包是否正在升级到平面包安装后脚本?

Macos 如何判断我的包是否正在升级到平面包安装后脚本?,macos,packagemaker,Macos,Packagemaker,我有一个运行postinstall脚本的MacOSX平面软件包。我想知道脚本中是新安装还是升级。Bundle样式包有pre和postpgrade脚本,但我不能使用Bundle包 我已经在脚本中转储了环境变量,并将参数转储到脚本本身,而这些参数似乎都不能表明它是升级还是安装。我可以告诉安装程序知道,因为安装程序日志指示安装或升级。我只是不知道如何从postinstall脚本中分辨出来。如果是您的软件包,为什么不检查一下您已经在机器上的迹象呢?请留下一些标记,告诉您已经安装,或者在部署前检查磁盘上是

我有一个运行postinstall脚本的MacOSX平面软件包。我想知道脚本中是新安装还是升级。Bundle样式包有pre和postpgrade脚本,但我不能使用Bundle包


我已经在脚本中转储了环境变量,并将参数转储到脚本本身,而这些参数似乎都不能表明它是升级还是安装。我可以告诉安装程序知道,因为安装程序日志指示安装或升级。我只是不知道如何从postinstall脚本中分辨出来。

如果是您的软件包,为什么不检查一下您已经在机器上的迹象呢?请留下一些标记,告诉您已经安装,或者在部署前检查磁盘上是否存在旧文件?

如果是第一次安装软件包,安装程序将调用postinstall脚本,但如果升级,则应调用postupgrade脚本


更多信息请参见“关于脚本的内容”部分。

这就是我最后要做的。在我的预安装脚本中,我使用pkgutil查看我的包是否已安装,并创建一个标志文件,然后我的postinstall脚本检查该文件,以判断它是否是升级。