2012-05-09 35 views
0

我有一个运行postinstall脚本的Mac OS X flat软件包。我想在脚本中知道它是新安装还是升级。 Bundle风格的包具有pre和postupgrade脚本,但我不能使用bundle包。如何判断我的软件包是否在平面软件包安装后脚本中升级?

我已经抛弃了脚本中的环境变量,并且将参数转储到了脚本本身,并且这些脚本都没有显示它是否是升级或安装。我可以告诉安装程序知道,因为安装程序日志表示安装或升级。我只是不知道如何从postinstall脚本中得知。

回答

0

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

+0

这就是我最终做的。在我的预安装脚本中,我使用pkgutil来查看我的软件包是否已安装并创建一个标志文件,然后我的安装脚本会检查它是否是升级。 – Dustin

0

如果您的软件包是首次安装,安装程序将调用postinstall脚本,但如果升级了它,它应该调用postupgrade脚本。

更多信息here关于脚本部分。

相关问题