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

使用自定义代理设置调用install4j更新程序,install4j,Install4j,我想对Install4J包装的应用程序执行以下操作: 从包装好的Java应用程序的代码中调用Install4J更新程序 如果有可用的更新,则向用户显示在Install4J IDE中配置的GUI对话框 如果需要,将自定义代理参数传递给更新程序 据我所知,Install4J应该可以通过以下方式完成: List<String> args = new ArrayList<String>(); args.add("-DproxySet=true"); args.add("-Dp

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

  • 从包装好的Java应用程序的代码中调用Install4J更新程序
  • 如果有可用的更新,则向用户显示在Install4J IDE中配置的GUI对话框
  • 如果需要,将自定义代理参数传递给更新程序
据我所知,Install4J应该可以通过以下方式完成:

List<String> args = new ArrayList<String>();
args.add("-DproxySet=true");
args.add("-DproxyHost="+MY_PROXY_SERVER);
args.add("-DproxyPort="+MY_PROXY_PORT););
args.add("-DproxyAuth=true");
args.add("-DproxyAuthUser="+MY_PROXY_USERNAME);)
args.add("-DproxyAuthPassword="+MY_PROXY_PASSWORD);

ApplicationLauncher.launchApplicationInProcess(
    MY_UPDATER_ID.toString(), 
    args.toArray(new String[args.size()]),
    null, 
    ApplicationLauncher.WindowMode.FRAME, 
    null);
List args=new ArrayList();
args.add(“-DproxySet=true”);
args.add(“-DproxyHost=“+MY\u PROXY\u SERVER”);
args.add(“-DproxyPort=“+MY_PROXY_PORT”);
args.add(“-DproxyAuth=true”);
args.add(“-DproxyAuthUser=“+MY_PROXY_USERNAME”))
args.add(“-DproxyAuthPassword=“+MY_PROXY_PASSWORD”);
ApplicationLauncher.launchApplicationInProcess(
MY_UPDATER_ID.toString(),
args.toArray(新字符串[args.size()]),
无效的
ApplicationLauncher.WindowMode.FRAME,
无效);
但我一直得到输入代理详细信息的弹出窗口

我尝试过将参数更改为不带前缀“-D”,尝试将更新程序切换到控制台模式或无人值守模式,不传递参数,而是直接使用System.setProperty()将其放入JVM。。。但是没有成功。我总是以代理弹出窗口或消息“无法从下载更新信息\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

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

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

多亏了EJ技术(Install4J的开发者)的支持,我们让代理工作正常了。在提出问题的那一刻,我们使用的是v5.0.11,他们指示我们使用v5.1.2(当时最新的稳定版本)。最后,我们使用了测试版v5.1.3(目前尚未公开)

有关如何使代理在不弹出窗口和使用动态参数的情况下工作的详细信息:

  • 在上面的代码中添加其他参数,这些参数将阻止Install4J检测系统范围的代理设置:

    args.add("-Dinstall4j.noProxyAutoDetect=true");
    
  • 使用方法
    ApplicationLauncher.launchApplication()
    调用Install4J包装,因为它将在新JVM中启动它。由于JVM处理现有的env变量,因此需要这样启动,因此,如果在同一JVM中启动Install4J并在该JVM中附加参数,Install4J可能不会选择最新的值(如果您希望动态更改代理参数)

  • 等待v5.1.3变得稳定并下载它,因为当代理参数显式地提供给Install4J时,它将支持“不显示”代理弹出对话框(这是我的猜测,我不是以EJ technologies的名义发言)