我们已使用'updater-with-silent-version-check'并使用无人参与模式为我们的服务配置了自动更新程序。
当我们调用Updater.exe时,它失败并出现以下错误。当我们再次调用它时,它成功地从同一URL下载了新版本并升级到下一版本。 早期失败的可能原因是什么?
我们将URL作为参数传递给Updater:-VpatchAgentUpdatesUrl=https://xxxx.company.com:8443/updater-service/updates.xml
[ERROR] com.install4j.runtime.beans.actions.update.CheckForUpdateAction [ID 190]: could not download file
java.net.MalformedURLException: no protocol:
java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:120)
at com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:152)
at com.install4j.runtime.installer.helper.content.Downloader.connect(Downloader.java:25)
at com.install4j.runtime.installer.helper.content.HttpRequestHandler.connect(HttpRequestHandler.java:116)
---- -----更新
我们通过命令行参数将更新程序URL传递给Updater.exe。
我们做了以下更改。
1)在安装程序中 - &gt;自动更新选项,&update.xml&#39;选项设置为空。
2)在安装程序中 - &gt;屏幕&amp;行动 - &gt; &#39;更新程序,带有静音版本检查&#39; ,定义了一个安装程序变量&quot; updatesUrl&#39;值为$ {compiler:sys.updatesUrl}
3)在安装程序中 - &gt;屏幕&amp;行动 - &gt; &#39;更新程序,带有静音版本检查&#39; - &GT;启动 - &gt;检查更新 - &gt;设置“更新说明”网址&#39; as $ {installer:updatesUrl}
4)使用选项-VupdatesUrl = https://xxxx.company.com/updater-service/updates.xml
调用Updater.exe有时它使用正确的URL工作正常,有时它的失败和URL字段在更新程序日志中显示为空。
以下是错误情况下更新程序日志中显示的属性。
[INFO] com.install4j.runtime.beans.actions.update.CheckForUpdateAction [ID 190]: Execute action
Property variable: updateDescriptor
Property showError: true
Property rollbackSupported: false
Property connectTimeout: 10000
Property readTimeout: 20000
Property url:
Property askForProxy: true
Property acceptAllCertificates: false
Property connectionFailureScript: null
Property requestHeaders: []