我需要从Windows exe和msi文件中解析文件版本和产品版本。你能指向文件规范或库吗?最好用Java实现。
更新:看来我不能使用winapi,因为代码需要在Linux上运行...
更新:看来我不能使用winapi,因为代码需要在Linux上运行...
你可以使用GetFileVersionInfoSize
和GetFileVersionInfo
函数来获取文件版本和产品版本。虽然我不是Java的专家,但据我所知,可以使用WinAPI函数来实现。
我有一个Delphi程序,可以分析Windows EXE文件中的PE/NE头 - 但不是在这里。我认为它可以很容易地移植到Java上,因为它对文件进行了二进制分析。
当然,在Windows上使用JNA调用Windows API也可以解决问题。
编辑:我找到了它,但有一些小问题: