当前位置: 首页 > 知识库问答 >
问题:

模块"ntvinv.dll"已加载但未找到入口点DLLRegisterServer

蓬祺
2023-03-14

我有一个在windows 2003 server之前运行良好的应用程序。最近我们迁移到Windows server 2012 R2 64位。因为我们迁移到了64位windows,所以我们也迁移到了64位JAVA。

问题是:最初我们得到的错误是32位ntvinv。dll“无法在AMD 64位平台上加载IA 32位.dll”,因此我们下载了64位版本的ntvinv。来自jIntegra网站的dll。现在我们一起面临一个不同的问题,我们无法注册DLL本身。相反,我们得到一个错误弹出窗口,显示“ntvinv”资源DLL未找到errno=[126],日志文件读取

线程"main"中的异常java.lang.不满意LinkError: D:\XXXX\lib\ext\ntvinv.dll:一个动态链接库(DLL)初始化例程在java.lang.ClassLoader$NativeLibrary.load(Native Method)在java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)在java.lang.ClassLoader.load库(ClassLoader.java:1728)在java.lang.Runtime.loadLibrary0(Runtime.java:823)在java.lang.System.load库(System.java:1028)

当我试图手动注册DLL时,我得到以下错误

模块"ntvinv.dll"已加载但未找到入口点DLLRegisterServer

请确保“ntvinv.dll”是有效的dll或OCX文件,然后重试。

谁能帮我解决这个问题吗?

编辑:我在上述DLL上运行了dependency walker,发现了以下内容

需要注意的一点:我们在两台不同的机器(比如机器A和机器B)上进行了完全相同的设置。在其中一台机器上,它工作正常,与其他机器一样,我在DLL上遇到了上述错误。当我在两台机器上运行依赖步行者时,我得到了与上面粘贴的完全相同的快照。

在这方面的任何帮助都将不胜感激。我是世界上的一只新蜜蜂。

编辑2:还有一个观察...我在DLL工作正常的机器上看到很少Visual C和Visual Studio运行时,而在它不工作的机器上却没有...这可能是原因吗?

共有2个答案

牟辰龙
2023-03-14

将其添加到主或构造函数中。

try {
      System.loadLibrary("ntvinv");
  } catch (UnsatisfiedLinkError e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(null, "The JIntegra dll (ntvinv.dll) is not in the system path .", "Warning", JOptionPane.ERROR_MESSAGE);
      //System.exit(0);
  }
何华灿
2023-03-14

错误在这里清楚地拼写出来:

Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\XXXX\lib\ext\ntvinv.dll

为了加载ntvinv,缺少一个或多个缺少的DLL依赖项。dll。

运行dumpbin.exe /importsntvinv.dll以找出隐式链接的DLL。Dumpbin.exe是Visual Studio通常安装的工具。但它可能与Windows PlatformSDK捆绑在一起。

你也可以使用Depends。exe获取类似信息。

我认为windows事件查看器也可能会在应用程序或系统日志中报告导致二进制文件无法加载的依赖dll。去重现错误,然后检查事件日志。

我的直觉告诉我,这是一个没有安装的MSVCRT版本。

 类似资料:
  • 我正在尝试从github安装Exscript。 当我试图加载它时,python找不到它: 但是,当我尝试用setup在同一个虚拟环境中安装它时。py它成功安装并加载。 我做错了什么?

  • 我试图找到此错误的任何解决方案,但没有任何对我有用。我有一个简单的Angular2应用程序,使用Angulal-CLI创建。当我在浏览器中提供此应用程序时,我收到此错误:我正在尝试在加载中使用不同的路径儿童: 文件夹 应用程序模块 app-routing.module.ts test.module.ts 堆栈跟踪

  • 我正在从log4j1.x升级到log4j2,并将log4j.xml配置文件更新为一个新的log4j2.xml配置。我在运行maven,spring和Mule。 当运行一个测试maven构建时,log4j2.xml文件不会被拾取。但是,如果我重命名该文件log4j2-test.xml,它就会被拾取(例如,带有自定义PatternLayout的控制台记录器在第二种情况下可以正常工作,但在第一种情况下使

  • 我已经在Docker中安装了apache_beam Python SDK和apache Python SDK。Python版本:3.5 Apache版本:1.10。5. 我正在尝试使用执行apachebeam管道。当我从airflow UI运行DAG时,我得到 导入错误:将apache_梁导入为梁。找不到模块 使用相同的设置,我尝试了,它工作得非常好。 当我用Python2和ApacheAirfl

  • 我试图在IntelliJ中运行一个JavaFX应用程序。环境-Ubuntu 18.04.Java-11. 但它给了我一个错误的说法: 运行控制台中的整个命令: /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java--moder-path /home/mua/Software/javafx_sdk-1_3_1-b05a-linux-i586/javafx-s

  • 我的php_统计。dll始终提供 在Apache错误日志中。 我在Windows 10 64位机器中设置了XAMPP 32位。带有XAMPP的PHP(也是32位,上周下载的最新版本)。 由于Windows安全PHP_不得不安装到D驱动器stats.dll-所有版本从1.0.5到2.0.3,所有32位,非线程安全和线程安全再次尝试下载上周(是的,我也尝试了64位版本) php_统计。dll位于D:/