我的公司销售的Java应用程序神秘地停止为我们的一个客户工作。它一直在工作,但现在不能开始了。在尝试启动应用程序时,他遇到的错误是:"java.awt.AWTError:辅助技术未找到.“。我已经研究过这个问题,我认为这是由其他一些java应用程序造成的,这些应用程序错误地安装了“java se访问桥”,并最终破坏了他的PC上的所有java应用程序。请参见:
https://www.avnirvana.com/threads/java-install-error-any-ideas-on-the-fix.2178/
https://docs.oracle.com/javase/accessbridge/2.0.2/setup.htm#uninstalling-jab
我让客户卸载我们的应用程序,卸载他的PC上的所有WindowsAccessBridge.dll副本,并删除‘%WINDOWSHOME%\SYSWOW64 64’和‘%WINDOWSHOME%\SYSTEM32 32’中的所有副本。现在,当他试图重新安装我们的应用程序时,他从Install4j那里得到了同样的错误。我没有要求他尝试重新安装辅助技术-附件桥,因为我们的应用程序不需要它,安装看起来复杂,需要一些手动步骤。
看来确实有个解决办法。根据本文:https://deciphertools.com/blog/2016-05-09-assistive-technology-not-found/
通过添加以下内容,可以防止jre加载AccessBridge:
-Djavax.accessibility.assistive_technologies
-Djavax.accessibility.screen_magnifier_present=false应用程序的vmoptions文件。我会让他把这个添加到vmoptions文件中,但是他无法让安装程序运行,因为它得到了相同的错误。
我的问题有两个:,我还能让客户做什么来消除辅助技术-附件桥?
如果失败,如何修改install4j的vmoptions文件,以便他可以安装我们的应用程序并修改它的vmoptions文件?
发布于 2018-12-19 16:47:59
出于安全原因,安装程序不读取.vmoptions文件。您可以在命令行上传递VM参数,如下所示:
installer.exe -J-Djavax.accessibility.assistive_technologies -J-Djavax.accessibility.screen_magnifier_present=falsehttps://stackoverflow.com/questions/53854009
复制相似问题