针对可可应用程序的卸载程序

时间:2010-12-07 13:20:21

标签: cocoa macos packagemaker

我正在使用PackageMaker作为我的应用程序的安装程序(这不仅仅是一个简单的包)。 我想知道如何创建卸载程序,在何处安装它以及如何向用户提供启动它的方法。

先谢谢你的帮助,

3 个答案:

答案 0 :(得分:8)

在为某些MAC OS应用程序实现卸载程序时,我们想出了一个想法。正如SerpicoLugNut所说:

  

严重 - 98%的Mac应用程序不提供卸载程序,如果大多数人希望卸载该应用程序,他们只需将应用程序拖到垃圾箱

我们认为我们可以观看垃圾箱,如果我们的应用程序出现在垃圾箱中,我们可以询问用户是否要卸载它。

幸运的是,MAC OS提供了实现此功能的开箱即用功能。您只需将以下.plist放入/ Library / LaunchAgents:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.your.app</string>
<key>WatchPaths</key>
<array>
    <string>~/.Trash</string>
</array>
<key>ProgramArguments</key>
<array>
    <string>osascript</string>
    <string>/path/to/your/app/Check Trash.applescript</string>
</array>
<key>KeepAlive</key>
<false/>

在此示例中,一旦修改了用户的“废纸篓”,就会运行Check Trash.applescript。此脚本应检查您的应用程序是否在废纸篓中,并询问用户是否要继续卸载。当然,这可以是任意脚本,甚至是二进制可执行文件,而不仅仅是一个AppleScript。有关详细信息,请查看man page for launchd.plist

答案 1 :(得分:1)

OS X上没有正式的卸载方法。有些应用程序会将您的应用程序二进制文件,并找到它随之安装的相关文件,并删除它们,但除此之外,您唯一的卸载选项是:

1)编写自己的卸载程序脚本。

2)使用具有卸载功能的安装程序。我不熟悉VISE安装程序最近提供的功能,但在早期,我记得它具有卸载功能。

3)执行大多数应用程序的操作,并且不必担心卸载。说真的 - 98%的Mac应用程序不提供卸载程序,如果大多数人想要卸载应用程序,他们只需将应用程序拖到垃圾箱,或者(如果他们稍微精通一点)使用AppZapper或AppDelete等卸载程序应用程序

答案 2 :(得分:0)

解决方案是创建元数据包,不向其添加任何包,然后向其中添加删除程序的脚本。需要使用卸载程序卸载的osx上的大多数应用程序都有一个按钮,在应用程序或帮助菜单中显示“卸载应用程序”