我们有一个遗留的第三方程序在尝试执行某些功能时失败并显示错误“Class Not Registered”。有没有办法告诉它正在寻找什么类?有时它会说“灾难性错误”。
尝试静态和分析Dependency Walker,Kernal32.exe错误。我猜这是实例化失败。它没有透露任何遗漏的依赖。
ProcessMon未显示任何尝试访问注册表或特定文件路径的失败。
花了几天时间使用调试器和工具试图弄清楚它是什么文件。我们有一个正在运行的生产系统,我们可以使用非管理员用户帐户访问。
第三方应用程序是用Delphi编写的,如果它有所作为的话。我们的调用应用程序是C ++。
更新: 使用来自Sysinternals的Process Monitor和一个过滤器来缩小自然注册表从不常见的读取失败,我能够找到丢失的GUID并注册相应的dll。