0

我目前使用 NSIS 为我的 Java 应用程序创建安装程序。我的应用程序需要本地库,所以目前我正在创建两个安装程序,一个是 32 位的,另一个是 64 位的库。

问题是所需的库类型取决于 JVM,而不是操作系统架构。可以理解的是,使用 64 位 Windows 的用户通常会下载 64 位安装程序,即使他们运行的是 32 位 JVM。即使我在我网站的下载页面上写了解释,用户也不太可能阅读(或理解),因此需要更好的解决方案。

任何人都可以建议一些不错的 NSIS 脚本来帮助在安装时检测 JVM 类型,以便可以安装正确的库。这样,我可以提供一个 Windows 安装程序并隐藏用户的复杂性。

4

1 回答 1

0

如果可能,您应该考虑更改您的应用程序以有条件地加载正确的本机库并创建一个安装程序。您的客户会更开心。

类似的东西(对于 Windows):(仅教学示例 - 未准备好生产)

String archDataModel = System.getProperty("sun.arch.data.model");
String libName   = "Java2WinExample";
String libExt    = ".dll";
String libNameFQ = libName+archDataModel+libExt;
System.loadLibrary(libNameFQ);

您的单个安装程序将同时安装 Java2WinExample32.dll 和 Java2WinExample64.dll,并且应用程序将根据调用 JVM 加载正确的库。

于 2013-02-23T01:27:44.887 回答