使用OS X产品构建卸载程序

时间:2013-03-15 11:56:03

标签: macos productbuild pkgbuild

我的产品安装程序使用pkgbuild和productbuild很好地工作。但是,现在我试图弄清楚如何使我的安装程序也作为卸载程序。我可以通过修改我的distribution.xml文件为用户显示卸载选项,如下所示:

<choices-outline>
    <line choice="install"/>
    <line choice="uninstall"/>
</choices-outline>
<choice id="install" visible="true" title="Install" description="Installation description goes here">
    <pkg-ref id="com.prosc.RemoteExecution.install.pkg">#installer.pkg</pkg-ref>
</choice>
<choice id="uninstall" visible="true" title="Uninstall" description="Uninstaller description goes here" start_selected="false">
    <pkg-ref id="com.prosc.RemoteExecution.uninstall.pkg">#installer.pkg</pkg-ref>
</choice>

但是当他们选择卸载时,我需要我的postinstall脚本以某种方式知道他们选择了哪个选择。我没有看到安装后脚本知道这一点的任何方法 - 环境变量中没有任何内容表明这一点,也没有包含在传递给我脚本的参数中。

它发生,我认为我可以写一个独立的卸载程序包,拥有自己独立的后脚本,然后包括与我的整体产品的组成部分,但只是好像很多额外的设置工作。

如果根据用户的安装选择存在轻微的行为差异怎么办?我是否需要为每个选择制作单独的包组件?

是否有一个很好的解决方案,不需要额外的组件包,或者我应该为安装/卸载制作单独的组件包?

0 个答案:

没有答案