问题标签 [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.
install4j - 如何禁用 install4j 向导上的“定位”按钮并在未找到 JRE 的情况下显示自定义消息?
我正在尝试创建一个没有捆绑 JRE 的安装程序,它将显示一条消息,告诉用户从 java.com 下载正确的 JRE,而不是在安装程序找不到合适的 JRE 时要求他们找到 JRE,但我找不到任何将允许我这样做。
我尝试在安装程序的启动序列中添加屏幕或添加操作,但它们都只有在 install4j 向导找到合适的 JRE 或要求用户找到合适的 JRE 或要求用户下载 JRE(动态捆绑)后才会执行。
对此的任何见解将不胜感激。
install4j - 如何自定义 install4j 中的初始进度对话框?
默认情况下,install4j 安装程序有一个带有进度的初始对话框,大概用于解压安装程序的 jre 等。此进度对话框提到 install4j 作为用于创建安装程序的工具。这可以在项目设置中使用“抑制初始进度对话框”复选框来抑制。
完全禁止此对话框并不是真正可取的,因为机器在解压缩时停滞不前,没有任何东西呈现给用户。
理想情况下,可以使用公司特定的图形/文本等自定义此对话框。
这可能吗?如果是这样,它是如何完成的?
mysql - 如何(静默)在 32 位和 64 位 Windows 上卸载 MySQL
我们将 Install4J 用于我们当前版本的软件,并在安装过程中静默安装 MySQL 5.1。
对于我们软件的下一个版本,如果是升级的话,我想去掉MySQL 5.1,安装5.5。理想情况下,卸载应该静默进行,但不是硬性要求。我设法让它在 32 位 Windows XP 上运行,但不能在 64 位 Windows 7 上运行。这是我目前所拥有的:
这会将 MySQL Server 5.1 的产品代码放入mysqlUninstallKey
变量中。在这一步之后,我有一个具有以下设置的“运行可执行文件或批处理文件”步骤:
- 可执行文件:msiexec.exe
- 工作目录:${installer:sys.system32Dir}
- 参数:/I{installer:mysqlUninstallKey}
这将(在 32 位 Windows XP 上)运行 MySQL 服务器的安装程序,然后用户必须手动选择“删除”。
在 64 位 Windows 7 上,它只显示一个对话框,显示所有命令行标志及其解释,因此 msiexec.exe 正在启动,但我传递给它的参数无法识别。
知道可能出了什么问题吗?或者,也许我做错了,有更好的方法吗?
我使用 Install4j 4.2.8。
install4j - 将环境变量添加到 install4j
是否可以将环境变量添加到 install4j 一次,而不是在“指定环境变量”字段下添加此变量?
例如,我想添加 JAVA_VENDOR=Sun 一次,每次我将使用“运行可执行文件或批处理文件”操作时,该变量将被正在运行的进程识别。
提前致谢, 马克西姆
install4j - 如何防止我的 exe4j 可执行文件被赛门铁克端点标记为 Bloodhound 特洛伊木马?
我创建了一个 java 应用程序并使用 exe4j 版本 5 将其包装在可执行文件中,但每次我启动可执行文件时,赛门铁克端点保护 12 象限都会将 exe 文件视为可执行文件,因为它认为可执行文件是猎犬木马。但是,如果我使用 exe4j 版本 2 或更低版本创建可执行文件,则不存在此问题。
如果我使用 install4j 创建安装包,也会发生同样的问题。
是否需要对 exe4j 或 install4j 项目进行任何设置来解决此问题
textfield - Install4j:如何在文本字段中使用字符串数组
在我的安装程序中有一个带有文本字段的屏幕,它会在循环中多次出现以配置不同的服务实例。为了清洁,我想将这些值保存在字符串数组中。
如何将数组的特定索引绑定到 texfield?我在文本字段的“变量名”字段中写入了什么?
我已经尝试了所有可能的组合,例如${installer:vars[0]}
,但没有一个有效。
copy - Install4j:如何在运行时复制和修改启动器
在我的安装程序中,我需要一些启动器,根据用户输入将它们安装为服务。除了名称中的索引之外,这些启动器都是相同的。
我不想手动创建所有这些启动器,因为那将无法维护。
有没有办法在安装程序运行时复制和修改启动器,然后将它们安装为服务?
install4j - 如何在 ${installer:sys.installationDir}/jre 以外的其他地方安装捆绑的 JRE?
好的,这对我来说有点难以用语言表达,所以请耐心等待。
我们的项目目录结构依赖于 ${sys.installationDir}/jre 作为用于运行我们产品的 JRE 的位置。这适用于使用 install4j 内置安装程序的新安装,因为 install4j 默认将 jre 放在那里。
但是对于 install4j 对旧版安装的内置更新,这是有问题的。
我有我正在重用的安装代码,不幸的是它依赖于 Java 1.6 功能。我有运行 1.5 的旧版产品安装,并且由于其他原因无法更新。
我需要允许 install4j 安装程序将 Java 1.6 jre 解压到临时位置,仅用于执行安装代码,然后将其删除。
我似乎找不到配置捆绑 JRE 安装位置的方法。任何提示/建议?
install4j - 如何在使用 install4j 更新期间仅删除安装程序创建的文件
我有一个 install4j 项目并想做一个项目。
我的设置中有一个libs
-folder,我所有的 jar 都在其中打包:
Alien.jar 是一个附加文件,不是从我的设置中创建的。如果我使用包提供更新libs
- 文件夹将alien.jar
被删除,我不明白为什么。
DeleteFilesAction
之前有一个InstallFilesAction
,它有一个过滤器,所有我们都alien.jar
不会被删除。如果我在我之后制作一个 MessageBox DeleteFilesAction
,则
外星人.jar
还存在。
当 InstallFileAction 启动时,完整的libs
-Folder 似乎已被删除。
我相信有配置标志,我不知道。
问题:如何删除完整的libs
文件夹,期待alien.jar
?
install4j - install4j 安装程序有类似 unzip -t 的东西吗?
我使用 install4j 构建的安装程序将通过更新程序分发到数据中心中的多个(有时是数百个)设备。在我们当前的实现中,这些文件使用 unzip -t “测试”是否损坏。我意识到我们可以比较文件上的 md5sum,但这会增加我们希望在构建过程中避免的额外开销。还有其他建议吗?