我的公司销售一款 Java 应用程序,该应用程序神秘地停止为我们的一位客户工作。它一直在工作,但现在无法启动。他在尝试启动应用程序时收到的错误是:“java.awt.AWTError:未找到辅助技术...”。我研究了这个问题,我认为这是由其他一些 java 应用程序引起的,这些应用程序错误地安装了“java se accessbridge”并最终损坏了他 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 上的所有 Java 副本,并删除在“%WINDOWSHOME%\SYSWOW64”和“%WINDOWSHOME%\SYSTEM32”中找到的 WindowsAccessBridge.dll 的所有副本。现在,当他尝试重新安装我们的应用程序时,他从 Install4j 中得到了相同的错误。我没有要求他尝试重新安装 Assistive Technology-AccessBridge,因为我们的应用程序不需要它,而且安装看起来很复杂,需要许多手动步骤。
似乎确实有一个解决方法。根据这篇文章: 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 文件中,但他无法运行安装程序,因为它出现了相同的错误。
我的问题有两个: 我还可以让客户执行哪些其他操作来删除辅助技术-AccessBridge?
如果失败,我如何修改 install4j 的 vmoptions 文件,以便他可以安装我们的应用程序并修改其 vmoptions 文件?
最佳答案
出于安全原因,安装程序不会读取 .vmoptions
文件。您可以像这样在命令行上传递VM参数:
installer.exe -J-Djavax.accessibility.assistive_technologies -J-Djavax.accessibility.screen_magnifier_present=false
关于java - 如何从 Windows 10 PC 卸载 Java 辅助技术 - AccessBridge 的损坏副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53854009/