1

我们使用 install4j 来捆绑我们的应用程序。在 Windows 上安装时,如果用户安装到包含与 (&) 字符的路径,则启动器将失败。(注意:我们已经使用 install4j 一年多了,除了这个没有其他已知的路径问题)

我们使用 Launcher 将 JAR 存档包装为可执行文件。

当我们创建一个带有与号 (&) 的 Windows 帐户(例如:Bill&Ted)时,我们发现了这个问题。然后我们以该用户身份登录并运行 install4j 安装程序并要求它安装到当前用户桌面(例如:安装路径为 C:\Users\Bill&Ted\Desktop\MyApp)。启动器无法正常执行。

打开命令提示符并手动运行启动器不会说或做任何事情(安静地失败)。有什么方法可以为此启用调试信息吗?

但是,运行 java 命令(例如:C:\Users\"Bill&Ted"\Desktop\MyApp\jre\bin\java.exe -jar C:\Users\"Bill&Ted"\Desktop\MyApp\images\myapp.jar ) 确实有效。注意:我需要在“Bill&Ted”周围添加引号,没有它们,这个命令也会失败。

我的怀疑是 Windows 路径在启动器中没有被正确分隔。我不确定这是我可以控制/设置的东西,还是启动器代码本身的问题。

配置:我的启动器是如何配置的:

1)选择启动器类型=生成的启动器

2) 可执行信息 = GUI 应用程序,文件集:默认文件集,目录:空白,所有复选框均带有“。” 是“将工作目录更改为:”

2b) 高级选项:配置重定向:重定向 stderror 已选中并设置为 error.log,Windows 版本信息资源:未选择任何内容。执行级别:作为调用者,菜单集成:使用标准名称。

3) 定义启动器图标:在 .\images\XXXX.png 中添加图标到启动器集(我们有 3 个图标 16x16、32x32 和 48x48)。选择从跨平台图像文件生成

4) Java 调用:VM 参数:-Dapple.awt.UIElement=true,允许 VM 传递参数已选中。类路径:存档:blah.jar,参数:-profile "LIVE" -loglevel INFO

4b) 高级选项:本机库 - 无 - 首选 VM - 默认 VM

5) VM 选项文件:复制带有用户说明的模板文件。覆盖模式:从不

6) 启动画面:无启动画面

4

0 回答 0