为了方便用户,我希望提供一个卸载脚本,以完全删除在Mac OS X上安装的应用程序的所有痕迹。该应用程序安装使用的是软件包而不是只是将其拖入"应用程序"文件夹,因为它是一种守护程序类型的应用程序,还需要在安装时运行脚本才能启动。
我的想法是包含一个名为"uninstall.sh"的文件,并将其放置在"/Library/Application Support/com.<mycompany>.<myapplication>/"中,并从应用程序文档中引用它。基本目的是停止守护程序(如果正在运行),卸载并删除相应的plist文件以及删除任何应用程序文件。这是否合理,或者有更好的方法可以实现这一点?
此外,我想知道是否有必要使用"pkgutil --forget"来删除软件包的痕迹。如果不这样做,则下次安装软件包时,它会显示为已升级而不是已安装。有什么建议或指向最佳实践信息的指针吗?
在OS X上没有标准的做法吗?
我的想法是包含一个名为"uninstall.sh"的文件,并将其放置在"/Library/Application Support/com.<mycompany>.<myapplication>/"中,并从应用程序文档中引用它。基本目的是停止守护程序(如果正在运行),卸载并删除相应的plist文件以及删除任何应用程序文件。这是否合理,或者有更好的方法可以实现这一点?
此外,我想知道是否有必要使用"pkgutil --forget"来删除软件包的痕迹。如果不这样做,则下次安装软件包时,它会显示为已升级而不是已安装。有什么建议或指向最佳实践信息的指针吗?
在OS X上没有标准的做法吗?
/Library/Application Support/
文件夹,就会发现通常只需使用应用程序的名称作为该文件夹的名称。请注意,这是常规做法。 - Asmus