Install4j - 如何在现在是Mac文件夹的Mac上卸载以前打包的应用程序?

时间:2013-04-15 02:56:04

标签: java macos installer install4j

在我们之前的版本中,Mac OS的安装程序类型是“Mac OS X single bundle”,但是现在由于需求的变化,我正在使用“Mac OS X文件夹”。问题是我需要删除旧的应用程序,我似乎无法做到。

我尝试使用“卸载以前的安装”操作,但这似乎没有做任何事情。我怀疑它与安装类型已经改变的事实有关。

然后我尝试创建“删除文件和目录”操作并使用:

${installer:sys.installationDir}\..\ApplicationName.app

其中ApplicationName是我们的应用程序名称。然而,这似乎也没有用。我已将“文件过滤器脚本”和“目录过滤器脚本”设置为return true;我也检查标记为“递归”。

我查看了文件夹,但找不到用于诊断问题的installation.log文件。

更新:以下是日志文件的结果(已编辑ApplicationName.app):

[INFO] com.install4j.runtime.beans.actions.files.DeleteFileAction [ID 3184]: Execute action
       Property rollbackSupported: true
       Property backupForRollback: true
       Property showFileNames: true
       Property showProgress: false
       Property recursive: true
       Property files: [/Applications/LandlordMax/../ApplicationName.app]
       Property directoryFilter: I4jScript_Internal_5
       Property fileFilter: I4jScript_Internal_6
[ERROR] com.install4j.runtime.beans.actions.files.DeleteFileAction [ID 3184]: Execute action not successful after 22 ms

我发现该操作存在错误,但我似乎无法获得更多详细信息。至少没有什么可以排除故障,我试图通过复制和粘贴来自installation.log文件的文件位置值cd到目录,它存在并具有内容。我也可以使用rm -rf和路径从终端删除它。

Action elevation type对于该操作设置为Elevate to maximum priviledges

1 个答案:

答案 0 :(得分:1)

“Mac OS X单捆绑”媒体类型没有卸载程序(用户只是将捆绑包拖到垃圾箱),因此“先卸载卸载”操作无效。

使用“删除文件和目录”操作是正确的想法。最有可能的是,${installer:sys.installationDir}\..\ApplicationName.app未指向正确的目录。日志文件位于.install4j / installation.log中,默认情况下是隐藏的,因此您必须使用终端导航到该文件,或者查看here以在查找程序中显示它们。