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

Java Install4j-如何在Mac电脑上卸载以前打包的应用程序';现在是Mac文件夹吗?,java,macos,installation,install4j,Java,Macos,Installation,Install4j,在我们以前的版本中,Mac OS的安装程序类型是“Mac OS X单包”,但是现在由于需求的变化,我使用的是“Mac OS X文件夹”。问题是,我需要删除旧的应用程序,但我似乎无法这样做 我尝试过使用“卸载以前的安装”操作,但这似乎没有任何作用。我怀疑这与安装类型的改变有关 然后我尝试创建“删除文件和目录”操作并使用: ${installer:sys.installationDir}\..\ApplicationName.app 其中ApplicationName是我们的应用程序名。然而,这似

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

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

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

${installer:sys.installationDir}\..\ApplicationName.app
其中ApplicationName是我们的应用程序名。然而,这似乎也不起作用。我已经将“文件过滤脚本”和“目录过滤脚本”设置为
返回true我也勾选了“递归”

我查看了文件夹,也找不到用于诊断问题的
安装.log
文件

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

我看到操作有错误,但我似乎无法获得更多细节。至少没有什么需要解决的问题,我已经尝试通过复制和粘贴installation.log文件中的文件位置值,将
cd
复制到目录中,并且该文件存在并包含内容。我还可以使用
rm-rf
和路径从终端删除它

操作提升类型
被设置为该操作的
提升到最大权限
“Mac OS X single bundle”媒体类型没有卸载程序(用户只是将捆绑拖到垃圾箱中),因此“Uninstall previous”操作将不起作用


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

我假设您可能会回答Ingo,我只是想让你们知道,我认为这是一个更好的途径,通过支持来请求,这样其他人可以从中受益。谢谢:)您可以检查旧应用是否存在,如果存在,请不要安装并告诉您的用户卸载旧应用。我更愿意自动执行此过程,以使我的用户更容易使用。下载和安装应用程序对某些用户来说可能是一个挑战,因此添加另一层是我宁愿避免的事情。@StephaneGrenier我同意,在SO上发布此类问题确实是一个更好的主意,通过支持来处理它们。@StephaneGrenier如果它是一个应用程序并且处理外部文档,那么用户肯定希望OSX将其作为一个应用程序来处理(例如,当你点击它们时打开文件)不是一个你必须运行脚本才能使用的文件夹我使用的是终端,但我忘记了隐藏的文件。我几乎总是只做“ls-al”,但出于某种奇怪的原因,看看终端历史,我一直只做“ls”。哎呀。谢谢你,这确实帮了大忙。也很抱歉所有的评论,我一直在努力工作,因为我试图在本周发布一个版本;)经过大量调试后,我认为这与路径中的“/…/”有关,它无法正确解决该问题。因为如果我硬编码路径,即“/Applications/ApplicationName.app”,那么一切都很好。基本上“/Applications/ApplicationName/。/ApplicationName.app”在终端中工作,但不通过安装程序。看起来我说得太快了。安装程序似乎没有删除该文件夹的权限,只需测试它是否存在,如果它是硬编码的…您是否以普通用户身份启动安装程序?在这种情况下,请在安装程序的启动节点中找到“请求权限”操作,并在“Mac OS X”部分选择“如果是普通用户,请尝试获取根权限”属性。还要检查“删除文件和目录”操作的“操作提升类型”属性是否设置为“提升到最大可用权限”(这是默认设置)。
[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