Dll 从RunOnce启动的bat文件注册COM服务器时出错

Dll 从RunOnce启动的bat文件注册COM服务器时出错,dll,installation,64-bit,registration,dcom,Dll,Installation,64 Bit,Registration,Dcom,我目前正在Windows XP 64位计算机上进行产品安装。我正在尝试注册COM模块作为安装的一部分。我通过在“RunOnce”(注册表)键中添加一个条目来启动bat文件,并从该bat文件进行注册 我的所有COM dll都已正确注册,但两个COM服务器(.exe)显示错误,无法加载其一个依赖项dll。但是同一个dll与另一个COM服务器静态链接,并且该服务器已成功注册 令人惊讶的是,直接运行同一个bat文件(双击它)不会产生任何错误,而且它对所有程序集都可以正常工作!。我已经在我的两台测试机器上

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

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

令人惊讶的是,直接运行同一个bat文件(双击它)不会产生任何错误,而且它对所有程序集都可以正常工作!。我已经在我的两台测试机器上检查过了,只有一台机器显示了这种行为。不幸的是,这不是客户的机床

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

其他信息,我正在通过logmein远程访问这台机器

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

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

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//抛出错误

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


尼克松

您说XXX.dll的文件夹在PATH变量中,但如何设置它?在批处理文件的开头不应该有一个格式为
path“C:\Folder of XXX.dll;%path%”“
的命令吗?哦,等等,注册应用程序或运行应用程序时是否会发生错误?感谢您的快速响应。我已从安装中升级了SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment中的路径项。我检查了这个,路径被正确更新了。请回答第二个问题;是,注册服务器时出错。我认为服务器将在注册时启动。更多发现,我将所有依赖项DLL复制到DCOM模块所在的本地路径。但我仍然收到相同的错误“未能加载xxx.dll…”此xxx.dll本身在同一文件夹中可用。