【问题标题】:install4j: Executing bash fileinstall4j:执行 bash 文件
【发布时间】:2015-01-05 16:55:55
【问题描述】:

我正在尝试从 install4j6 运行 bash 文件。 install4j 确实尝试运行 bash 文件,但它只是在安装结束时返回错误。该错误非常笼统,没有代码参考或任何可以帮助我确定解决方案的信息 - 只是一条消息“执行文件时出错”。

我唯一能提供的是我如何在 install4j6 中设置它,因为我很确定这是我的问题。

bash 文件定义在我的安装目录分发树的根目录中,命名为set_permissions.sh。为了消除权限成为原因,文件权限模式设置为 777(在 install4j 和文件系统中)。

我认为该问题与我设置为“工作目录”的内容有关。我目前将其设置为“。”。有没有办法进一步调试?也许会得到一个关于它为什么没有执行的实际错误?

【问题讨论】:

    标签: bash install4j jprofiler


    【解决方案1】:

    好的,首先要检查几件事:

    • 确保在安装文件步骤之后运行批处理文件(您提到它位于安装的根目录)
    • 最好检查等待终止和返回代码的变量。
    • 将 stderr 重定向到日志文件(以防万一)

    至于工作目录,. 应该可以,但您可以将其更改为${installer:sys.installationDir} 以确保它引用用户选择的安装目录。也可以${installer:sys.installationDir}\set_permissions.sh的形式设置可执行文件

    另外,请尝试仅运行您的 shell 脚本以确保它可以正常工作 :)

    【讨论】:

    • 我尝试了上述建议。没运气 :\。我已经使用返回变量选择了等待终止。我已将 stderr 重定向到日志文件,但没有生成日志文件。显示控制台窗口已选中,但没有弹出任何内容。 bash 文件在安装程序之外执行得很好。所有这些都在“完成”步骤中。这个动作甚至是为了执行 BASH 文件吗?它说“运行exe或批处理文件”。感谢您的帮助!
    • @Chris,您可以查看 install_path/.install4/installation.log 下的日志文件。有问题的行应以 [ERROR] 或 [WARNING] 开头
    • 日志文件与屏幕上显示的错误一样模糊。没有理由解释为什么 .sh 文件没有被执行。在对此进行了更多研究之后,在我看来,该操作是 Windows 特定的唯一操作。这是他们需要明确的一点,因为术语“批处理”文件可能会产生误导,尽管大部分时间都与 Windows“批处理”执行有关。
    • 所以现在我的问题归结为你是否可以在 install4j 中执行一个 bash 文件?
    • 到目前为止,我一直在 Linux 上使用 install4J 版本 5 执行此操作,没有出现任何问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2017-07-04
    • 2011-11-25
    相关资源
    最近更新 更多