问题标签 [install4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
527 浏览

install4j - 捆绑 jvm 和 Windows 归档媒体类型的 install4j 问题

这个问题是关于 install4j 4.2.8 的。

我们正在使用 install4j 为我们的 java 应用程序创建一个“windows 存档”类型的媒体文件。尽管大多数用户都乐于下载我们的 .exe 安装程序,但有些客户需要 msi,因此我们使用此 .zip 工件作为使用第三方工具创建的 msi 的基础。

除非涉及到合并捆绑的 jre(非共享),否则这可以正常工作。似乎默认情况下,install4j 使用 pack200 算法压缩 jre 层次结构中的某些 jar 文件(例如 rt.jar),并在第一次运行启动器可执行文件时解压缩它们。

这个过程显然适用于从 exe 安装程序安装的安装,但似乎在我们的 msi 安装(如前所述是从 windows .zip 工件创建的)中失败了很多时间。我查看了 install4j 手册,看看是否有某种方法可以关闭此压缩,但 jre 包创建工具似乎没有任何此类参数可以这样做。而且这种行为很好,所以不用它就很好。

关于为什么在某些情况下解包过程可能会失败的任何想法?

0 投票
1 回答
184 浏览

png - install4j 用于启动画面的无效 PNG 文件

我使用 install4j 对用作初始屏幕的 PNG 文件进行了小编辑(使用 GIMP)。install4j 现在失败并出现以下堆栈跟踪和错误:

install4j:编译失败。原因:com.ABE:com.ABE:文件 splash.png 不是有效的图像文件。

在之前一切正常的情况下,PNG 文件中发生了什么变化会导致它失败?

0 投票
2 回答
376 浏览

install4j - 当端口不可用时强制安装程序失败?

我正在使用 install4j 安装需要 HTTP 和 HTTPS 端口的 Intranet 应用程序。我想测试这些端口是否可用并警告用户/阻止安装,直到他们选择不可用的端口。

我看到的唯一途径(除了自定义代码)是确保 Windows 服务在应用程序无法绑定到所需端口时失败,并使用失败策略“询问用户是在失败时重试还是退出”。在 Web 服务器启动代码中,如果服务器无法绑定到端口,我使用 System.exit(1)。但是,这似乎不会向安装程序注册为失败 - 安装继续进行而不调用失败策略。

向“启动服务”操作发出失败信号的正确方法是什么?其他人是否采取了替代方法来保证安装使用可用端口?

0 投票
1 回答
107 浏览

install4j - 如何使用试用版通过 telnet 运行 Windows 安装程序?

我正在评估我们公司的 install4j。

我们构建了一个 win32 安装程序,并且我们正在尝试建立一个持续集成环境来对其进行测试。

CI 服务器能够使用 FTP 将安装程序上传到 windows 目标机器(这是一个虚拟化环境),并运行看起来像这样的批处理脚本

目前我们正在使用 install4j 5 的试用版。

当安装程序从命令行运行(通过远程桌面上的 cmd.exe)时,我会看到一个弹出窗口,警告试用版。安装被冻结,直到我单击确定。

当安装程序从 telnet 运行时,该命令会挂起并且永远不会返回。我相信原因是那个弹出窗口。

要全面评估 install4j,我们需要能够了解它如何适合我们的 CI 流程。

有什么解决方法吗?

0 投票
1 回答
875 浏览

install4j - install4j 是否提供*完全*无人值守的自动更新?

我们目前正在评估 install4j,一切进展顺利,但是我有一个关于自动更新的问题。目前,我看到大约 3 个自动更新选项的选项和文档,而第三个(无版本检查)似乎最接近我们的需要。然而,它听起来好像仍然提示用户实际开始下载/安装。有没有办法解决这个问题?我们将我们的软件作为服务定位在服务器机房中的许多 Windows 盒子上,因此没有用户可以单击继续进行最后一步。我相信我们可以推出我们自己的服务来监控升级,该升级将使用答案文件进行命令行安装以防止提示,但我很想知道我是否错过了一些可以让我利用 install4j 的自动更新的东西。

0 投票
1 回答
337 浏览

install4j - install4j 可以忽略以前重新安装/升级默认目录的安装吗?

如何让我的 install4j 安装程序始终建议默认安装,而不是尝试使用以前的安装目录。

我将我的目录添加到媒体并在安装位置屏幕上检查了建议应用程序目录,但我仍然遇到不良行为。

想要的行为:

  • 用户安装 C:\Program Files\My App 1.0.0\
  • 使用为 2.0 运行安装程序并提示 C:\Program Files\My App 2.0.0\

当前行为:

  • 用户安装 C:\Program Files\My App 1.0.0\
  • 使用为 2.0 运行安装程序并提示 C:\Program Files\My App 1.0.0 \

谢谢您的帮助

彼得

0 投票
3 回答
880 浏览

macos - 下载会破坏 OSX 签名?

我刚刚开始签署我的 OSX 桌面应用程序,以便可以轻松地将其安装在 OSX 10.8 上。我遇到了一个非常奇怪的问题,签名工作正常,如果 dmg 通过 DropBox 或 FTP 传输到 Mac,我可以安装,但如果 dmg 上传到服务器,然后使用浏览器下载到 Mac,则签名失败(用户会看到与文件未签名相同的错误)。

背景:该应用程序是 Java,在 Install4J 中使用 Apple 的 .p12 签名。有趣的是,对于未签名或下载的 DMG,OSX 10.8 显示的错误非常奇怪,它表示安装程序“损坏”并且应该卸载。

任何人都知道为什么使用浏览器下载 DMG 时签名会失败?

0 投票
1 回答
425 浏览

launcher - install4j 条件如何检查启动器是 UI 还是控制台应用程序启动器?

如果我在控制台上或使用 UI(纯文本与 html 文本)运行,我想显示不同的许可证文本。我想我可以通过屏幕上的条件来做到这一点,但我不确定如何确定正在运行哪种启动器。

我想我会使用 LauncherSetup.getType() 并且可以获取 LauncherSetup getLauncherById(java.lang.String id) 如果我可以找出正在运行的启动的 id,但我不确定如何获取正在运行的 Launcher 的 id。

如果您对这种情况有解决方案,请告诉我。如果现在,当我弄清楚如何获取launcherID后,我会发布我的代码

谢谢

彼得

0 投票
1 回答
117 浏览

install4j - 可配置横幅表单中没有横幅

我添加了一个“可配置的横幅表单”。如果我清除重置“横幅图像”,则横幅将显示默认横幅。我不要横幅。我该如何实施?

我还想更改“可配置横幅表单”中“屏幕标题”的字体。这可能吗?我将如何实现这一点?

0 投票
1 回答
624 浏览

install4j - 使用自定义代理设置调用 install4j 更新程序

我想对 Install4J 包装的应用程序执行以下操作:

  • 从包装的 Java 应用程序的代码中调用 Install4J 更新程序
  • 如果有可用更新,则向用户显示在 Install4J IDE 中配置的 GUI 对话框
  • 如果需要,将自定义代理参数传递给更新程序

据我所知,Install4J 我应该能够通过以下方式做到这一点:

但我不断收到用于输入代理详细信息的弹出窗口。

我尝试将参数更改为没有前缀“-D”,尝试将 Updater 切换到控制台模式或无人值守模式,不传递参数,而是使用 System.setProperty() 直接将它们放入 JVM ......但没有成功。我总是以代理弹出窗口或消息“无法从_ __ _下载更新信息请检查您的网络设置”结束。

另外:如果我重复调用 Updater 但使用不同的参数,弹出窗口总是显示我用于第一次调用的一次。

有什么帮助吗?提前致谢。