我已经安装了创建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“”。有一个文件在
选中“在安装文件上保存下载的文件”
建设项目
测试安装程序
我尝试了下载安装组件的操作,但删除了它,因为文档中说安装文件会自动执行此操作
谢谢
我有一个主要的Java应用程序,它现在与Windows32和64位上的install4j安装程序一起发布
除了从.exe文件运行应用程序时会中断的拖放之外,这一切都很好。如果我从.jar文件(或从我的开发环境)运行应用程序,那么一切(包括拖放)都可以正常工作
在尝试执行拖放操作时,从.exe运行不会在日志文件中生成异常,并且光标仍带有不允许的图标
这是install4j中的一个错误,还是我需要更改install4j中的一些设置?可能您已经使用提升的权限从安装程序启动了应用程序。在这种情况下,使用
我们向我们的一位客户提供了一个安装了install4j的应用程序以及捆绑的JRE。此客户需要为此应用程序手动配置一些代理设置
我试图将deployment.config文件放在JRE的lib目录中,但它似乎没有改变任何东西。我也找不到相关的vmoptions
有没有办法将这些设置传递到app/jre
是否还有一种方法可以指示JRE在运行时打开Java控制台
谢谢!
/Shmulik。您可以通过设置VM参数来配置代理
proxySet=true
proxyHost=...
proxyPort=..
我们的客户确实点击安装程序(他们将其保存在桌面上),而不是启动程序,从而运行安装程序而不是实际的程序
有没有办法为installer指定一个图标,为launcher指定另一个图标?这两个图标永远不会共享。生成的启动器图标在启动向导的“图标”步骤中定义,如果转到installer->屏幕和操作,选择安装程序并编辑其“可执行图标”属性,则定义安装程序图标
当安装程序抛出错误或安装中止并开始回滚时,它不会删除未添加到分发树中但在安装过程中创建的文件
因此,我尝试的是注册一个installerEventListener并在回滚操作后删除上的剩余文件,但似乎每次回滚操作后都会触发它。如果在安装文件回滚之前删除这些文件,回滚将抛出一个错误,因为它找不到已安装的文件
如何确保在回滚期间删除这些文件?如何创建未删除的文件?您可以使用runscript操作并填写可选的rollbackscript属性,以便在回滚过程中的特定点执行代码。谢谢,这对我很有用。
我需要在安装期间可以选择的任何所需位置创建快捷方式。请告知我们如何实现这一目标
此外,在无人值守模式安装期间,我希望通过响应var文件提供快捷方式位置。在这种情况下也请给出建议。您可以使用带有绝对路径的“创建开始”菜单项操作
将Entry name属性设置为${installer:shortcutPath},然后它将从安装程序变量shortcutPath获取位置。如果选择了响应文件属性的注册者,则可以通过设置变量操作初始化变量。感谢Ingo的响应!我试图通过定义“创建开始”菜单条目操作并将条目名
我已经尝试了install4j文档中给出的/create-i4j-log参数,但这并没有为所有日志提供有关install4j上下文中日志记录的一些注意事项:
/create-i4j-log参数用于从安装程序的本机部分获取调试输出
未记录标准输出
stderr被打印到安装程序旁边的文件“error.log”中
.install4j/installation.log文件的日志输出是通过调用com.install4j.api.Util.logInfo/logError
那么如何记录标准输出?我可以看
错误日志:
正在启动安装程序。。。选择JAVA工具选项:-Xms32M-Xmx128M
此启动器是使用install4j的评估版本创建的。一
发生错误:java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException错误日志:
/tmp/install4jerror473093677587270008.log java.lang.RuntimeException:
java.lang.reflect.Invocatio
我发现我创建的安装程序有两个进程(实例)。我还注意到,当我们以普通用户的身份运行安装程序时(即使在UAC提示之后),也会发生这种情况。但当我们通过“以管理员身份运行”执行时,它只有一个实例。这是预期的吗?我们如何证明这一点
谢谢。第二个进程是由“需要特权”操作启动的具有提升特权的帮助进程。它执行其“操作提升类型”属性解析为“提升到最大可用权限”的操作
我在MSI软件包的install4j自动更新功能中遇到问题
可以检测到自动更新。单击“下载完成”页面中的“完成”按钮时,会弹出“msiexec”页面。我想它可能找不到下载的软件包
DMG、EXE和MSI版本共享相同的“自动更新”选项,但是,只有MSI软件包存在此问题
Install4j版本:8.0
我使用install4j进行多语言安装
我们可以在jre初始化后选择语言,但我想用欢迎页面定制语言选择包
有什么可能吗?您不能更改常规屏幕上的语言,因为必须在初始化屏幕/操作系统之前设置语言
但是,安装程序具有“语言代码替换脚本”属性。您可以使用它来显示自己的语言选择GUI或添加自己的逻辑来选择安装程序语言
我的istall4j生成应用程序包含错误的.exe安装文件名?经过进一步调查,我发现它在生成安装程序时正在替换{0}。在messages_en.utf8文件中,标题设置为:SetupWindowTitle=Setup-{0}
{0}的值从何处获取?如何用新值更新{0}的值 {0}替换为在“常规设置->应用程序信息”步骤中输入的应用程序名称和版本号
要更改该消息,请转到“常规设置->语言”步骤,设置自定义本地化文件,并用您自己的消息覆盖消息“SetupWindowTitle”
我正在开发一个有数千个文件的应用程序。安装和配置需要很多时间。是否可以创建一个修补程序来替换几个已更改的文件,而不是创建一个新的安装程序并安装相同的文件?install4j无法通过比较两个不同的分发树来为您生成修补程序。但是,您可以自己组装补丁文件并创建“附加”安装程序项目。这是在安装程序->更新选项步骤中配置的
使用install4j 6.1.6构建的安装程序正在生成以下错误。关于导致此问题的原因有何建议
java.lang.ClassNotFoundException: com.test.client.Main
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLo
我使用的是install4j Windows Edition 6.1.1(build 6254)
我有一个安装程序,可以安装(最多)3个组件,每个组件都有一个启动器(exe)
在卸载过程中,我按照建议使用“检查正在运行的进程”活动。选中“包含启动器”选项,但未检测到任何进程
当我手动将exe文件添加到“其他可执行文件”中时,它会按预期工作
这是一只虫子,还是我错过了什么
附加问题:当我列出“附加可执行文件”时,我是否可以给出它们的名称,在它们运行时根据这些名称向用户报告,而不仅仅是带有路径的文件
如果有人能帮我,我将不胜感激
我正在使用install4j创建可执行文件,我需要2Gb的最小空间要求,你可以把这个检查
我还想检查机器是否安装了1.6X版本的JDK,否则我应该终止安装程序。目前我的安装程序正在寻找JRE
提前谢谢
Sanjay对于磁盘空间检查,将“运行脚本”操作添加到安装程序的“启动”节点,并将其脚本设置为
if(SystemInfo.getFreeDiskSpace(context.getInstallationDirectory())Java版本,并将最低版本设置为1.6:
我正在评估install4j。我试图创建的安装程序使用passwort文本字段。此字段的值应作为编码值写入响应var文件。另外,安装程序必须允许两种安装路径:
正常路径(“高级”),允许用户查看每个屏幕并检查/输入每个值-使用此路径,密码字段工作正常
一个简单的路径,应该使用成功的前一次安装的所有值,允许用户启动更新安装而不查看所有屏幕
使用简单路径(不显示包含密码字段的屏幕),在安装时似乎只有编码变量(“passwordField”.encoded”)可用,而不是“real”密码变量是否有
如果install4j被授予卸载程序的调用权限,则可以使用install4j执行卸载,强制重新启动并使用管理员权限继续安装。
欢迎任何提示。谢谢您可以通过调用
context.triggerReboot(false);
在运行脚本操作中。但是,没有任何功能允许您在重新启动后再次调用安装程序并在下一屏幕继续
在这种情况下,我建议为installer->Screens&Actions上的后期处理添加一个自定义安装程序应用程序,并为该自定义应用程序向安装程序添加一个在Windows上添加启动可执行文
我们正在使用install4j for来构建安装程序。我们在linux RHEL 6.4上面临更大的字体大小问题
在Linux RHEL 64上,安装程序显示的字体比windows大,这反过来会导致UI问题(即表单控件彼此不对齐等)。install4j中是否有任何选项可以在linux上使用相同的外观,或者install4j是否提供了任何属性,并且可以进行设置以避免在linux RHEL 6.4上出现较大的字体大小问题
谢谢,
Jignesh默认情况下,不同的系统包含不同的字体。这些字体不一定具有
我正在寻找一种方法来提取install4j(主要是Windows Installer)创建的安装程序的启动器。
我的目标是将这些启动器发送到防病毒网站的白名单中。
我尝试使用可执行文件处理选项,但此操作发生在启动器签名之前,静默模式在计算机中进行了太多更改。不运行安装程序就无法从可执行文件中提取文件
在构建时,您可以通过
--preserve
参数,或选中安装程序“生成”步骤中的“不删除临时目录”复选框,则在编译完成后,将不会删除%TEMP%目录中包含启动器的暂存目录。谢谢,此选项将有助于实现
我们购买了install4j许可证。请告知我们如何将许可证密钥与Ant构建脚本集成?根据文档:
您可以使用install4jant任务的license属性设置许可证密钥。以下内容对我有效
<taskdef name="install4j"
classname="com.install4j.Install4JTask"
classpath="/home/User/install4j6/bin/ant.jar"/&
我正在使用install4J构建我的应用程序,现在我正在尝试实现更新程序功能。我有多种媒体,结果却不同:
对于windows installer(.exe):它工作正常,新媒体已加载,我的应用程序已关闭,新安装程序将自动运行
对于.deb、.rpm,新媒体将下载到/Downloads中,更新程序停止在那里。是否可以将更新程序配置为关闭我的应用程序并自动安装.deb/.rpm,类似于windows更新程序的功能
存档(windows和unix)新媒体下载到/download中,更新程序停止在那里
在测试install4j安装程序时,我对安装位置屏幕的行为感到有点困惑:
显示此屏幕时,在目标目录字段中
建议使用上次安装的目录(例如c:\xx\a)
现在我使用“浏览”按钮选择另一个目录(例如。
c:\xx\b)
在“选择目录”对话框中确定后,我将在字段中看到
目标目录c:\xx\b\a而不是c:\xx\b
这是虫子吗?我配置错误了吗?提前谢谢
致以最良好的祝愿
Frank在“安装位置”屏幕上,取消选择“建议应用程序目录”以禁用此行为
install4j API允许通过ID获取安装组件,并确定它们是否在脚本操作中被选中。对于安装类型ID,我看不到这样做的方法。我有两种安装类型,其中组件列表是相同的,但它们需要根据类型进行不同的配置
如何实现这一点?使用
(String)context.getVariable("sys.installationTypeId")
之所以不在上下文中,是因为安装类型不是install4j中的一个基本概念,它是由installation type屏幕提供的。事实上,您可以使用公共API编程整个安装类
我可以使用Install4J创建web安装程序吗?我指的是类似于JRE/JDK轻量级安装程序的东西,它根据目标机器从web服务中提取文件,然后安装产品。您必须自动检测服务器上的操作系统,并为正确的平台提供安装程序。这可以通过像这样的库来完成
install4j安装程序可以是网络安装程序,因此初始下载大小将尽可能小
在“文件->安装组件”中,添加可下载的安装组件(在每个可下载组件的“选项”选项卡上选择“可下载”)。在介质向导的“数据文件”步骤中,选择“可下载”选项。然后将这些组件写入单独的数据文件
我使用installation components(安装组件)屏幕,并选择了磁盘空间不足警告选项。这是有效的-当磁盘空间不足时,我会收到一条警告,并向用户提示继续y/n
我不明白的是,当他们选择n时,如何退出安装程序。目前,当磁盘空间不足,用户选择n(不继续)时,安装程序会再次循环回到安装组件选择,并再次循环警告-基本上是一个无休止的循环
屏幕上没有“失败时退出”选项,因此当用户选择不继续时,由于磁盘空间不足,如何取消安装
谢谢……没有办法在那里插入代码,循环会返回,因此您可以选择另一个具有更
我在并发安装2个应用程序时遇到问题。
使用install4j5创建了两个单独的.exe文件(一个.exe文件和两个.exe文件)
安装ONE.exe(未运行)后,如果我安装了两个.exe,则将卸载一个应用程序。
但是,如果我试图在一个应用程序运行时安装TOW.exe,则允许同时安装两个应用程序
当另一个应用程序未运行时,是否有方法进行并发安装?两个install4j项目是否具有相同的应用程序ID(安装程序->更新选项)?是的,两个项目都具有相同的应用程序ID。然后我将为两个项目分配不同的应用程序
GUI中显示的磁盘空间(MB)与安装程序解释的实际空间(KB)之间似乎不匹配
到目前为止,该漏洞正在RHEL 6.5 64b上重现
安装程序需要10%的安全裕度,临时文件或小文件所需的磁盘空间实际上更大
该安全裕度未包含在“安装位置”屏幕上的显示值中。这将在install4j 6.0.2中修复
今天我有一个关于更新应用程序的问题。我希望执行我的应用程序启动器并传递所有命令行参数,这些参数是我提供给更新程序应用程序的,如下代码所示:
C:\temp\MyApplication\updater.exe -param1 1234 -param2 qwer
应该这样启动应用程序启动器:
C:\temp\MyApplication\application.exe -param1 1234 -param2 qwer
因此,我尝试在执行操作中使用argument属性,但还没有找到如何接收命令行参
我正在卸载/删除Install4J创建的MAC上的.app文件。但在执行此操作时,它没有提供任何正在运行的文件实例消息。
安装时也会发生相同的情况,因为我有正在运行的应用程序实例,并且当我尝试在同一位置再次安装应用程序时,它会提示我应用程序已在运行,无法在同一位置安装。但它没有发出任何这样的信息。
在install4j上构建安装程序时,是否需要设置一些配置或更改,有人可以建议我吗???检查Mac OS X上运行的进程至少需要install4j 6。在install4j 5.x及更早版本中,不支持
我已经使用Maven依赖下载了JRE(JRE-x64-1.8.0_40.zip)。
我想将此Jre捆绑到install4J。
当我尝试绑定此文件时,在构建过程中,它将错误显示为FileNotFoundException,并查找文件jre-x64-1.8.0_40.zip.tar.gz
如何捆绑jre zip
如果没有,install4j是否提供转换文件类型的功能?您可以通过从主菜单调用Project->create a JRE Bundle或使用createbundle命令行实用程序,从已安装的
我们的项目中大约有30家媒体。现在我们必须向其中一个媒体添加额外的文件。AFAIU正确的方法是创建一个单独的文件集,并在所有其他媒体中禁用它。但是否存在一种相反(简单)的方法来启用特定媒体中的文件集?从6.1开始,这是不可能的,计划在未来版本中使用
在自动更新中执行DownloadFileAction时出现以下错误
[INFO] com.install4j.runtime.beans.actions.net.DownloadFileAction [ID 63]: Started action at 2017-03-09T14:09:55
Execute action
Property checkForMd5Sums: true
Property retryIfInterrupted: true
在installer(多平台)中,我们有安装升级和回滚这样的用例。
在执行升级安装时,如果用户单击“取消”按钮,
我们想转到回滚屏幕,在那里用户可以执行回滚操作
我在如下启动操作中尝试了使用事件侦听器运行脚本,但没有成功:
context.addInstallerEventListener(new InstallerEventListener() {
public void installerEvent(InstallerEvent installerEvent) {
我仅将install4J 5.0.9 windows用作产品的安装程序。根据手册,安装完成后应将安装日志文件复制到安装目录中
但是,在我的安装中不会发生这种情况。我有一个“安装文件”操作,作为“安装位置”屏幕的一部分执行
在安装过程中,我可以在%TEMP%\I4J_log*下找到日志,但它会在安装结束时被删除(如预期的那样)
是否需要复制日志?当安装程序退出时,而不是在“安装文件”操作之后,日志文件将被移动。只有当目录${installer:sys.installationDir}/.insta
我通过“添加操作->桌面集成->创建开始菜单项”添加了“开始菜单”
我想在这个菜单中添加工具提示(说明),如下所示
如何在“开始菜单”中添加此选项
如果没有,如何使用自定义代码创建“开始菜单项”这是install4j当前不支持的。
我有两个媒体文件:
捆绑了jre的64位媒体文件
64位媒体文件未捆绑jre
事实上,这两个媒体文件是相同的,但唯一的区别是使用jre绑定和不使用jre绑定
当我尝试生成这两个媒体文件时,收到以下错误消息:
媒体文件补丁管理\Agent\installer\trunk\Media\PatchAgent\u windows-x64\u 1\u 0.exe已经创建。
请帮我从上述问题中走出来
问候,
Jagadeesh Musham。在绑定JRE的媒体文件向导中,转到
自定义项目默认值->媒体文件名
我们为几个具有类似任务的项目构建安装程序,如为不同的DB类型配置和检查DB连接。如何在scriptfields中重用java代码片段以避免代码重复?在单个项目中,可以通过单击“编辑代码”按钮在“安装程序->自定义代码和资源”步骤中定义通用脚本
要跨项目重用代码,您必须在JRE中编写代码,从编译的类创建一个JAR文件,并将其添加到“Installer->Custom code&resources”步骤中
请参阅有关如何在IDE中设置API运行时的说明
当我使用relativetest.install4j构建安装程序时,我得到一个异常InvalidByteCodeException。我仍然可以运行安装程序,没有任何问题,但我想摆脱这个异常
C:\Program Files\install4j6\bin>install4jc--win keystore password=*****C:/Users/test/Downloads/relativetest.install4j
install4j version 6.1.6 (build 6459),
我正在尝试更改install4j提供的默认“安装位置”屏幕的标题/副标题。但是我在标题/副标题配置部分找不到该部分。标题/副标题部分可用于其他屏幕,可以在那里更改
是否有其他方法或API可用于更改标题/子站点?标准屏幕的标题和副标题不可直接配置,但您可以覆盖消息
在“常规设置->语言”步骤中,设置自定义本地化文件,然后打开内置编辑器并单击“覆盖消息”工具栏按钮。搜索要更改的邮件,然后单击“确定”。然后您可以在编辑器中更改文本。是的,但我想更改字幕。在默认“安装位置”的“屏幕和操作”中,我看不到提
我想对Install4J包装的应用程序执行以下操作:
从包装好的Java应用程序的代码中调用Install4J更新程序
如果有可用的更新,则向用户显示在Install4J IDE中配置的GUI对话框
如果需要,将自定义代理参数传递给更新程序
据我所知,Install4J应该可以通过以下方式完成:
List<String> args = new ArrayList<String>();
args.add("-DproxySet=true");
args.add("-Dp
我们用处理安装的方式做了一些非常非正统的事情。我们为不同的产品制作了许多不同的安装程序,并将它们安装到同一目录中。因此,卸载程序将最后一个产品的名称安装到此目录中
我想给卸载程序一个新的名称,所以我想知道是否有一种方法可以在启动卸载程序后覆盖窗口的标题,这样我可以给它一些更通用的名称。在Installer->Screen&Actions下,选择卸载程序并编辑“Executable name”属性。我忘了提到,我现在正在安装4J 5.1.15。一旦卸载程序启动,我需要更改它的窗口标题。我同意将卸载
上一页 1 2 ...
4 5 6 7 8 9 10 ...
下一页 最后一页 共 18 页