0

我目前正在 Windows XP 64 位机器上安装我的产品。我正在尝试将我的 COM 模块注册为安装的一部分。我通过在“RunOnce”(注册表)键中添加一个条目来启动一个 bat 文件并从该 bat 文件完成注册。

我的所有 COM dll 均已正确注册,但其中两个 COM 服务器 (.exe) 显示错误,即无法加载其依赖项 dll 之一。但是同一个 dll 与另一个 COM 服务器静态链接,并且该服务器注册成功!

令人惊讶的是,直接运行相同的 bat 文件(双击它)不会产生任何错误,并且它适用于所有程序集!我已经在我的几台测试机器中检查了这一点,只有显示这种行为的机器。不幸的是,那不是客户工具机。

它不是依赖 dll 不可用的问题。因为在通过直接运行bat文件注册了所有文件后,我可以通过手动在RunOnce中添加一个键并重新启动机器来再次重现这一点。

附加信息,我正在通过 logmein 远程访问这台机器。

确切的错误消息:“此应用程序无法启动,因为找不到 XXX.dll。重新安装应用程序可能会解决此问题”。

此 XXX.dll 在同一路径中不可用,但在另一个文件夹中,并且其路径在路径变量中可用。

bat文件内容是;

"C:\WINDOWS\system32\regsvr32.exe" RemoteControlHandler.dll

"C:\WINDOWS\system32\regsvr32.exe" ProcPgmHandler.dll

"C:\WINDOWS\system32\regsvr32.exe" GEM300Handler.dll

"C:\WINDOWS\system32\regsvr32.exe" ICEScreenAdapter.ocx

HIB.exe /regserver //抛出错误

JobManager.exe /regserver

Cim300Adapter.exe /regserver

GemEquipmentCtrl.exe /regserver //抛出错误

希望这些信息对专家来说已经足够了,如果您需要任何其他信息,请随时询问。

尼克松

4

0 回答 0