我正在使用PackageMaker作为我的应用程序的安装程序(这不仅仅是一个简单的包)。 我想知道如何创建卸载程序,在何处安装它以及如何向用户提供启动它的方法。
先谢谢你的帮助,
答案 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上的大多数应用程序都有一个按钮,在应用程序或帮助菜单中显示“卸载应用程序”