我支持在Windows上运行的两个不同的基于Java的应用程序。两者都具有exe包装程序,这些包装程序调用jar文件中的基类。在某些客户安装中,启动应用程序后,jar文件将恢复为以前的版本。其中一个安装程序是使用Install4J构建的,另一个是使用InstallSheild构建的。
基本上,Install4J安装将所有文件替换为适当的版本,并启动包含在同一jar文件中的配置对话框。当用户关闭配置对话框时,将启动主应用程序。版本号位于配置对话框的表面和主应用程序上,因此不会误认为该版本。快速检查jar文件的大小和时间戳即可确认替换。
到目前为止,这仅在虚拟机上发生。在一种情况下,拔下网卡可以解决此问题。我假设类似TripWire的东西正在替换文件,但无法确认。其他人有没有经历过,根本原因是什么?