我已经安装了创建windows服务的install4j,但我需要将重新启动延迟设置为一个值。该值存储在REG\u二进制文件中
在创建windows服务时,是否有方法设置故障重启延迟。如果没有,是否有办法在windows注册表中设置REG_BINARY值,以便在install4j创建服务后设置此值
注意:我尝试使用十六进制数字设置“值”字段,就像它通过windows regedit显示一样(即00 00 00 03 00 14 00 00 EA 00 00 EA 00 00 EA 00 00等),
是否允许用户在卸载过程中选择要卸载的组件
如果没有,有什么可能的解决方案来促进这一点
提前谢谢 从install4j 5开始,install4j中没有“维护安装程序”的概念。卸载程序会删除安装程序安装的所有内容。关于第一个问题:您看过文档了吗?据我所知,没有提到能够选择要卸载的组件,它只是卸载您已经安装的组件。啊,我也这么认为。
我正在使用install4j的附加配置更新我的产品。在某些情况下,我需要对某些文件进行特殊处理,例如将用户配置的参数从以前的版本传送到新版本。是否有办法检查更新中是否存在这些特定文件,以便在安装新文件之前让install4j运行脚本保存它们,然后再运行另一个脚本修改新文件
我想我可以生成清单,但这是多余的,因为install4j已经知道了信息。相反,预先保存用户可以修改的所有文件是不切实际的
谢谢 从install4j 5.1开始,没有API可以访问已安装文件的列表。但是,“安装文件”操作有一个
在install4j中,我很难理解如何填充表单上的下拉列表。我有一个自定义代码,它返回一个字符串[],并将一个变量设置为此值。这是正确的
有关下拉框和组合框组件的帮助,请参见以下内容:
下拉列表中的项目以分号分隔的列表形式显示。这个
列表中的项目必须用分号和空格分隔。
如果单击属性编辑器中的“编辑”按钮,则可以输入
在单独的对话框中,每行一项。正在安装的项目
具有数组值的变量(例如字符串[]、对象[]或文件[])是
作为单独的项展开,这允许您构建可变长度
运行时的项目列表
这意味着我只需要在项目
我们正在使用install4j/exe4j创建windows启动器。我们在高级选项/Exe4j向导-重定向中配置stdout/stderr的重定向
是否可以限制生成的日志的大小?或者更好:类似于log4j中的滚动文件追加器
问候,,
Markus否,从6.1.4开始,此功能不受支持。如果生成大量输出,则当前必须使用包含这些功能的日志系统。否,从6.1.4开始,这是不受支持的功能。如果生成大量输出,则当前必须使用包含这些功能的日志系统
在install4j中,如何在卸载前关闭启动器?启动器配置为仅运行单个实例
我发现了这一点:但我不确定如何在安装程序中实现关机
任何通知的帮助都可以使用“检查正在运行的进程”操作来实现此目的。您可以使用“检查正在运行的进程”操作来实现此目的
如何在将字符串变量写入响应文件时避免额外的转义字符
install_path=e\:\\myApp
url=https\://10.15.1.66\:443
转义是属性文件格式的一个特征,不能更改。您可以使用java.lang.Properties读取文件
您可以使用“将属性写入文件”操作以UTF-8编码写入文件,但在这种情况下,您必须单独列出所有属性。转义是属性文件格式的特征,不能更改。您可以使用java.lang.Properties读取文件
您可以使用“将属性写入文件”操作以UTF-8编
我在一些操作中使用了失败策略“询问用户是否在失败时退出”。在无人值守模式下,install4j将其解释为“故障时继续”
我如何确定它应该使用“失败时退出”
我已尝试使用response.varfile来实现此目的,但尚未找到实现此目的所需的条目。从6.1.5开始,这是不可能的。在6.1.5中,我们将添加一个布尔安装程序变量sys.actionFailureUnattendedQuit,该变量在操作失败时强制无人值守安装程序退出,并且故障策略配置为询问用户
请联系support@ej-techno
我无法在Install4j中使用可下载的数据文件。这是我正在做的。我希望在AppData\Programs\myprogram文件夹中看到“phony\u license\u web.txt”
在定义分发树中创建文件“phony_license_web.txt”。它被添加到默认的文件集>安装目录
转到媒体>窗口>数据文件
指定下载URL“”。有一个文件在
选中“在安装文件上保存下载的文件”
建设项目
测试安装程序
我尝试了下载安装组件的操作,但删除了它,因为文档中说安装文件会自动执行此操作
谢谢
我正在控制台模式下使用install4j Unix GUI卸载程序卸载服务(守护进程)
卸载程序似乎成功执行卸载,但没有显示任何错误,但由于某些原因,它会激活卸载失败屏幕,绕过成功屏幕中的我的操作:
[INFO] com.install4j.runtime.beans.actions.misc.LoadResponseFileAction [ID 20]: Execute action
...
Execute action successful after 17 ms
我们正在使用installj4创建启动器für Windows(7,8)
在高分辨率设备(如surface pro)上,缩放设置为150%。
如果我们使用install4j生成的启动器启动应用程序,缩放效果会非常糟糕:整个应用程序看起来都被放大了:所有像素都被放大了
如果我们使用webstart启动应用程序,则会有更平滑的放大:保持边框,但字体会放大(更大的字体大小,而不仅仅是像素缩放)
有什么解决办法吗
(您可以在“控制面板”>“外观和个性化”>“显示”>“使文本或其他项目变大或变小”中更改缩
我有一个需要验证逻辑的屏幕,该逻辑可能会长期运行(例如,在速度较慢的机器上,可能长达10秒)。在验证过程中,install4j禁用输入,这很好。但是,屏幕不会显示被禁用的外观/L&F。例如,标签和输入字段不会灰显。我希望在验证期间屏幕或控件看起来是禁用的
我浏览了一些install4j API文档,希望找到类似screen.setEnabled(布尔值)的内容,但没有找到与此相关的任何内容
我还尝试在验证脚本中使用以下代码来执行此任务,但它似乎不起作用。也就是说,在长时间运行的验证期间,所有屏幕
我有一个安装程序,其目的是为现有安装更新JDK的最大版本(我们需要JDK,而不是JRE),并将现有安装指向使用JDK的更高版本(用户预安装且用户指定)运行
在安装程序中,我有从目录选择器表单组件调用JVM.setPreferredJVM()的代码。根据for JVMSelector的说法,该方法将“为您的应用程序设置首选JRE/JDK。”根据on变量(sys.preferredJRE),“只有在“安装文件”操作运行之后,才会设置此变量。”
当我运行安装程序时,我看到setPreferredJVM
我有一个install4j安装程序(适用于Windows),当我运行它(Win 8,x86)时,我会收到一个错误消息对话框,其中的消息由“LastRunFailed”定义,例如英语:
安装程序在上次运行时没有正确启动。\n这是错误的
可能是由损坏的Java VM引起的。\n是否下载或删除
手动选择JVM?”
我可以通过将JAVA_HOME变量设置为安装JRE 1.6的正确路径来解决这个问题。
但是这个错误消息的根本原因是什么呢?安装程序实际上附带了一个捆绑的JRE,它不应该依赖于任何现有的(预
我们在Linux上使用Install4j构建了一个应用程序。在Linux(Red hat 6.4)上卸载jre时,它不会完全卸载jre的所有文件夹。文件夹bin和lib保留在那里,在finish屏幕中,它给出了无法删除的文件和文件夹的列表。请说明出现此问题的原因以及如何解决此问题。可能是由于启动程序仍在运行,目录在卸载时被锁定。没有启动程序正在运行,我重新测试了它。在终端中,它给出如下错误:没有启动程序运行,我重新测试了它。在终端中,加载默认的flavormap.properties/jre/l
最初我想从语言选择屏幕主体而不是标题窗口中删除图标。
由于install4j不支持从语言选择屏幕中删除图像,现在我想用自定义图像替换附加图像中标记为红色的语言选择中显示的默认图像
我试图在安装程序的“可执行图标”属性中使用自定义图标。它只更改标题图标,不更改屏幕主体图像。但是,屏幕主体仍显示默认图像,而不是自定义图像
我如何才能做到这一点?答案可能重复,如果答案有问题,请不要问新问题。对此的回答是正确的。现在我已经更新了我的要求。
假设我安装了一个JRE,并在其上运行install4jVersion7的createbundle工具
捆绑包是否包含EJ技术生成的工件?
如果是,这些都附带什么许可证?
(显然,该捆绑包也将获得原始JRE的许可。)
背景:
这个问题是关于如果我将捆绑包作为应用程序的一部分重新分发,我可能需要遵守哪些附加许可证。
另外,一些配置和集成任务会更容易,因为我可以跳过许可证检查的繁文缛节,但我需要版权所有者的正式声明来打开这一简单的途径。由install4j创建的JRE包中没有其他工件。只有捆绑JRE的
我已经使用install4j为我们的应用程序创建了安装程序。
我需要传递一个参数来决定我的应用程序应该联系哪个服务器配置文件
我们有大约80个不同的配置文件,我们不希望为每个和evry服务器配置文件创建单独的安装程序,希望在运行时为exe文件配置它
我还提到了在下面的install4j文档中提到的创建响应文件的方法,但即使这样也没有帮助-
有什么想法吗?无法使用文本文件配置参数,但可以在.vmoptions文件中定义VM参数。如果您的启动器名为launcher.exe,则和同一目录中的文件la
我有一个install4j项目,它在windows上编译和构建非常好。但是,当我在linux上尝试此操作时,我收到了标题中所述的错误。我已经打开了详细模式,但我没有收到比这更有用的东西。由于代码被弄糊涂了,我甚至不能猜测可能是什么错了
我是否可以添加一些其他类型的日志,以获得有关编译过程中可能出现的错误的更多信息
[exec] Compiling launchers:
[exec] com.A.B.E: java.io.IOException: Negative seek offset
当使用64位JRE为MacOSX的SWT应用程序创建安装程序时,我们得到了一个
org.eclipse.swt.swt异常:
Invalid thread access that we can trace to a line:
Display display = new Display().
The error occurs when the application is launched after installation.
同样的程序在开发和任何使用Install4j创建的Windo
我定制了带有横幅图像的完成屏幕,并在该屏幕上添加了多行标签和3个复选框。在预览中,一切似乎都很好。但是在运行生成的安装程序之后,在finish屏幕上没有横幅。
我尝试使用默认的完成屏幕和带横幅的空表单。
知道是什么导致了这种行为吗?在.install4j/installation.log文件中有错误消息吗?您使用的install4j版本是什么?@IngoKegel installation.log显示“i4j_extf_5_0_6ibwfr.png”此文件不存在。我正在使用install4j版本
是否可以更改添加到install4j创建的DMG卷中的文件的权限(通过介质->macOS单包归档->安装程序选项->DMG选项和文件->DMG中的其他文件->常规文件)
我正在添加一个单独的uninstall.app(用于卸载应用程序的预安装4j版本),但uninstall.app运行的添加的可执行文件最终不可执行!(我必须单独添加uninstall.app下的所有文件)
我有一个解决办法,就是将uninstall.app作为一个单独的文件集包含在Application.app/Contents
我在使用-c通过cli模式运行媒体文件时遇到随机异常,如果我在本地windows计算机上构建媒体文件,并且团队成员在其本地计算机上使用相同的项目文件构建相同的媒体文件,并且如果该媒体文件在没有任何异常的情况下执行,则会发生这种情况
我的本地计算机缺少任何配置或文件/JAR。
这两台机器都基于windows 10,VM是CentOS 7.5,在其上执行媒体文件
An error occurred:
java.lang.NullPointerException
Error log: /opt/ins
在基于CLI的Install4j卸载程序中,假设有三个操作
动作1动作脚本,带有一些执行和消息,最后打印“一个”
操作2卸载文件和文件夹
3个动作脚本,执行部分,最后打印“三”
所以,当卸载程序开始执行时,它会完成操作一并打印“一”如果我们此时按ctrl+c,它不会立即终止卸载程序,而是执行下一个操作卸载文件和文件夹,然后终止卸载程序,因此大多数特定于安装程序的文件都会被删除,包括卸载程序脚本,并保留部分卸载
在GUI模式下,卸载程序将在ctrl+c上立即退出,卸载脚本将保留
如何实现将卸载程序
当我尝试安装install4j时,我得到一个错误,即安装程序已损坏。这是我刚从install4j网站下载的.DMG文件。我已尝试重新下载该文件,但仍然遇到相同的问题。有人见过这个问题吗。我在这里问是因为这是install4j网站给我的指导。问题是守门员不允许安装应用程序。我必须转到安全部门,检查是否允许从不受信任的来源进行安装。我们在Mac OS X 10.8上看不到任何问题。请重新下载并确保未使用代理缓存。如果此问题仍然存在,请与支持部门联系。
我们正在使用新版本5.1.14。我们希望将目录路径设置为系统属性,以便在应用程序中使用它。此目录包括launcher->vm选项文件配置屏幕上的${installer:sys.installationDir}变量,如下代码所示:
-Xmx1024m
-XX:MaxPermSize=128M
-XX:PermSize=64M
-Dsun.java2d.noddraw=true
-Dreview.config.dir=${installer:sys.installationDir}${insta
如何在install4j中重命名文件
我有一个步骤来选择用户的文件,如果用户上传了不同名称的文件,那么x.txt我需要重新命名一些后操作返回到x.txt
我看到install4j有移动文件和目录的选项,但我只看到目标是文件夹,而不是文件名
我只看到一种方法,即创建“运行脚本”post操作并用Java编写代码来实际重命名文件
Install4j中还有其他标准选项吗?如果“移动文件和目录”操作的“源文件或目录”属性设置为单个文件,“目标目录”属性也可以是文件名,然后该操作将重命名该文件
我们希望创建一个更新应用程序,在执行启动器之前,使用带有静默版本检查的更新模板来检查版本。到目前为止,一切似乎都很正常,但当我出现错误时,更新应用程序将中止该过程并回滚所有内容。之后,将执行启动器。如果在版本检查期间发生错误,我们需要中止启动程序的执行。是否可以对此进行配置?对于用户希望中止更新并在“信息”对话框中单击“退出”的场景也是如此。启动程序的执行也应该中止。我们在5.1.15和6.0版本中进行了尝试,结果是,如果出现错误或用户中止更新,启动器始终独立执行
提前感谢如果您想在更新程序失败
我正在评估Install4j,看看它是否可以替代InstallAnywhere。
为Installer/Unistaller[可执行图标]定制图标对我来说非常清楚。在标题栏中自定义图像的可能性也很明显。
我问我在安装过程中是否还有以下图标的自定义选项:
解决方案(如果有)必须针对特定的项目。我不想用这个变化影响其他项目
谢谢您的屏幕截图显示了安装程序图标,可通过在安装程序->屏幕和操作步骤上设置安装程序的“可执行图标”属性来定制安装程序图标。绝对正确。。。我的错。。。有了跨平台映像,就有可能
我的主安装程序(使用InstallAnywhere)正在无人值守模式下安装另一个安装程序(使用install4j)。安装install4j安装程序后,必须使用作为主安装程序(InstallAnywhere)的一部分安装在install4j安装程序的安装目录之外的一些外部jar的条目更新启动器的类路径
如何修改启动器的类路径?install4j中的启动器读取扩展名为“.vmoptions”的文本文件,该文件包含VM参数和一些特殊指令(可选)。例如,如果启动器名为“hello.exe”,则在其旁边创
是否可以在安装我的应用程序后编辑updatesUrl变量值以进行本地测试,而不是下载产品url。“sys.updatesUrl”是一个编译器变量,在编译后无法更新
但是,您可以执行以下操作:
在更新程序中查找“检查更新”操作,并用安装程序变量替换“更新描述符URL”属性中的值${compiler:sys.updatesUrl},例如${installer:myUpdatesUrl}
在“安装程序->屏幕和操作步骤”中,选择安装程序节点,激活“安装程序变量”选项卡,单击“配置预定义的安装程序变量”
我正在尝试使用install4J命令行编译器(install4jc)构建我的应用程序
我想使用-D NAME=VALUE语法将一些变量传递给编译器
这是我的命令:
install4jc -r myVersion -D application.fullName="my Full Name",application.shortName="my Short Name" projectFile.install4j
当我执行该命令时,我得到以下信息:
install4j: too many argume
我用install4j构建的安装程序将通过更新程序分发到数据中心中的多个(有时数百个)设备。在我们当前的实现中,使用unzip-t对这些文件进行了损坏“测试”。我意识到我们可以比较文件上的md5sums,但这增加了我们希望在构建过程中避免的额外开销。还有其他建议吗?如果添加条件表达式!Boolean.getBoolean(“testRun”)对于所有屏幕,您可以在命令行模式下使用参数执行安装程序
-J-DtestRun=true-c
然后,安装程序将进行试运行,而不对系统进行任何修改。当然,这只
如何在Install4j API(自定义代码)中检查32位或64位?若要检查安装程序是在32位还是64位Windows上运行,请使用
Util.is64BitWindows()
在install4japi中。无论是在32位还是64位安装程序中调用,它都可以工作。要检查当前JVM是32位还是64位JVM,请参阅谢谢。可以检查jsut 32位JVM或64位JVM。这取决于JVM。我想检查真正的操作系统架构。虽然我的操作系统架构是64位machane,但它在32位JVM上显示32位。@heesuki
我试着在网上搜索我的查询,也试着在这个网站上找到。但是没有运气
很抱歉,我们对install4j非常陌生,但已被要求执行某些任务
我们的组织已安装4J浮动许可证(已购买)。我们有一台CentOS Linux机器“ABC”作为本次安装4J的许可证服务器
现在,我们计划关闭这台机器“ABC”,并希望让另一台RHEL Linux机器“XYZ”作为我们install4j的许可证服务器
请注意,我们install4j的版本是4.2.8
你能给我们发送这项活动的说明吗
谢谢,
Vishal Chugh它的工
我正在使用install4j为我的软件的新版本创建一个窗口和Mac OSX安装程序。自上次发行以来,唯一改变的是我的应用程序。我没有更改install4j中的任何启动器或媒体文件选项。构建安装程序后,Windows安装程序运行正常。Mac OSX安装程序在某些机器上发出错误消息。消息是“您至少需要一个1.7 Java虚拟机才能安装…”但是,一个用户报告说他们已经安装了1.7,但仍然收到错误消息。有人知道是什么导致了这个错误吗?install4j是否需要1.7才能在Mac上运行
谢谢编辑Mac O
自动更新功能完成后是否有删除下载文件的选项?从6.1.4开始,install4j中没有此选项。您必须将它们保存到一个特殊目录中,并在应用程序启动时将其删除。从6.1.4开始,这在install4j中不是一个选项。您必须将它们保存到一个特殊目录中,并在应用程序启动时将其删除。我使用的是6.1.4版本。请分享选择权。正如我所说,目前没有这样做的选择。我添加了“从6.1.4开始”来限定这句话,以供将来的读者阅读。我使用的是6.1.4版本。请分享选择权。正如我所说,目前没有这样做的选择。我加上“从6.1
Util API可以检查Windows7、vista、xp等。。
但这不能检查Windows8。
如何在install4j中检查windows 8???Util.isWindows8()将包含在install4j 5.1.3中
同时,您可以检查Util.isWindows()是否为真,以及System.getProperty(“os.version”).equals(“6.2”)
在install4j欢迎屏幕中,如果有以前的安装,欢迎屏幕可能如下所示:
欢迎屏幕上的默认选项是“是,更新现有安装”
启动欢迎屏幕时,是否可以将“否,安装到其他目录”作为默认选项
由于我没有足够的声誉,我不能在这里附加图片。更改默认选择是不可能的,但您可以在“欢迎”屏幕上禁用“更新安装警报”属性。也许我的要求有点少。谢谢!
我正在尝试实现一个包含多个复选框的表单。
这些组件的可用性取决于用户选择的组件,但我无法找到确定已选择哪些组件的方法
如果有人能就如何实现这一目标给出一些提示,我将不胜感激
谢谢安装组件
context.getInstallationComponentById(“组件名称”).isSelected()
将根据选择安装的组件返回true/false
我想在自动更新失败案例时添加失败邮件通知。
什么是保持此操作的正确位置
请建议。
感谢要在失败时对回滚作出反应,请将“运行脚本”操作添加到更新程序的“启动”节点,并使用所需操作配置其“可选回滚脚本”属性。要在失败时对回滚作出反应,请将“运行脚本”操作添加到更新程序的“启动”节点,并配置其属性具有所需操作的“可选回滚脚本”属性
我为我们的产品创建了install4j安装程序
我们专门使用它来创建Windows安装程序。主要原因之一是自动处理Windows服务安装
但有各种可配置参数需要提示:
启动服务的用户名
该用户的密码
故障时重新启动
等等
我想提示用户输入其中一些
我很确定唯一的方法就是创建一个表单
有没有人已经做了这件事,我可以从他那里偷走这件工作
否则,我将不得不学习更多有关install4j安装程序操作、表单、变量等的知识,这将花费相当长的时间。将用户输入连接到操作属性的基本工作流程如下:
向安装程序
在install4j删除文件和目录操作中,如果删除文件,可以定义向用户显示的错误消息。这对我来说很好,只要消息没有任何参数
我想知道的是。。。如果此特定操作失败(即,由于某些异常原因无法删除文件),是否可以将filespec作为参数传递给错误消息?例如,我的错误消息是一个资源字符串,定义为:
"An attempt to delete a critical file has failed {0}"
当我将此资源消息插入操作的“Error message”属性时,它如下所示:
${ i18n:D
是否可以将第三方api创建的日志语句重定向到安装日志文件?假设我集成了一个库,它将语句记录到commons logging api中,现在我需要将这些语句记录到安装文件中。我怎么能这样做 sonatype的install4j slf4j桥接器将帮助您完成以下操作:
多亏了Ingo的提示,我将所有第三方共享日志语句都记录到了install4j的日志文件中。我是怎么做到的?我将以下构件添加到我的安装程序项目中:
org.sonatype.install4j:install4j-slf4j:1.1.1
错误消息如下所示:
Syntax error: "elif" unexpected (expecting "then")
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_
我有两个使用install4j构建的windows安装程序,我执行以下步骤:
安装版本X
卸载版本X
安装版本x+1
结果显示以下消息:以前程序的安装/删除未完成。您需要重新启动计算机才能完成安装。
我知道出现此消息的原因是卸载步骤添加注册表项HKEY\U CURRENT\U USER\SOFTWARE\ej technologies\install4j\RebootCheckFile
问题是为什么卸载步骤会添加此注册表项?最可能的原因是无法删除文件,因为正在运行的可执行文件仍在使用该文件
当卸
当我使用install4j创建MSI安装程序时,当安装程序请求权限(UAC提示)时,安装程序的程序名是一组随机的字母和数字(即2e5658ae.MSI)
程序名应该真正显示我们的应用程序名
是否有办法在install4j安装程序设置中设置此值?是否找到此问题的解决方案?是否找到此问题的解决方案?
我正在使用一个安装程序,我有一个用例,需要设置一个yum repo(我有.repo文件),然后从该repo安装所需的rpm/包。
e、 gyum--enablerepo=abc*安装foo
我们有自己的托管存储库,可用于安装软件包
我需要检查所需的软件包是否首先出现在系统上,如果没有,则安装存储库,然后安装软件包。所有这些都是使用install4j实现的
我正在考虑使用运行可执行文件或批处理文件操作并为此调用shell脚本。有没有其他更好的方法来处理这个问题
我们正在从installanywhere切换到install4j。使用前者,我们可以在需要进行额外调试时(应用程序在linux上作为服务运行,因此默认情况下启动器会吞下stderr和stdout)向启动器的配置文件(lax文件)添加一个特定的重定向选项,并将stderr/stdout重定向到一个文件
在任何地方都找不到有关如何以相同方式编辑已安装应用程序的install4j vmoptions文件的任何文档
有人知道怎么做吗
(需要明确的是,这是由install4j生成的应用程序启动器启动服务,
如何为install4j安装程序安装的GUI应用程序启用。当我为我的应用程序控制台使用JNLP模式时,它会按预期工作 Java 8控制面板中的“Java控制台”设置对install4j编译的启动器没有影响
要获得控制台,除了GUI启动器之外,还必须添加控制台启动器
或者,您可以从控制台执行GUI启动器,并使用
-console
参数,然后将stderr和stdout写入控制台(无阻塞)。感谢您的快速回答!现在,我尝试使用“Allow-console参数”并配置重定向,但没有显示日志文件
1 2 3 4 5 6 ...
下一页 最后一页 共 14 页