我对RegSvr32的dll注册有问题.在应用程序启动之前,一切都是在Java下以编程方式完成 我的问题是:
是否有任何解决方案禁用警报出现DLL注册的结果?这是一个"OK"按钮的提示.
谢谢你的建议.
当在Win7 x64下使用ATL Dll x64完成regsvr32时,我收到错误0x80070716.
我在提出问题之前做了一个搜索,并在其他网站上的一些线程中进行了验证,例如http://www.tek-tips.com/viewthread.cfm?qid=1085835和另一个在这里http:/ /forums.codeguru.com/printthread.php?t=366207.但那些线程并没有解决我的问题.
如果有人能帮助我,请告诉我.
我想注册在x64 Windows 7的64位中的办公用我按照指令的64位COM服务器DLL 这里,但我不能注册的dll.当我尝试收到以下错误时:

我使用的命令是 regsvr32 my_x64_com_server.dll
为什么会发生这种情况并且有解决方法吗?
提前致谢.
我可以注册一个COM DLL(写在VB6)dowFct.dll成功地用
regsvr32 dowFct.dll
Run Code Online (Sandbox Code Playgroud)
但是当我尝试用它时
regsvr32 dowFct.dll /i
Run Code Online (Sandbox Code Playgroud)
我收到错误(从德语翻译成英语):
模块dowfct.dll已加载但未找到DllInstall入口点.
我问我,如果使用regsvr32与/ i并没有任何其他参数是不一样的?在这种情况下,有人可以帮我解决问题吗?- 谢谢.
是否有regsvr32的.NET或Win32版本?我想用代码注册一个COM DLL而不是shells到regsvr32程序.
我尝试注册一个名为MixCenter.dll的COM DLL .我找到了它所依赖的所有dll.当DllMain第一次成为高管时,它会冻结并永不回归.这似乎是一个僵局,但我不会打电话给任何人LoadLibrary,它永远不会执行DllMain.这种情况还有其他原因吗?这是DllMain完全如下:
BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hinstDLL = hModule;
LOG(INFO) <<"--------------Begin Logging--------------";
return DllEntryPoint((HINSTANCE)hModule, ul_reason_for_call, lpReserved);
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
LOG(INFO) << "--------------End Logging--------------";
break;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我使用Dependency Walker记录整个执行,日志的基本部分是:
LoadLibraryExW("MixCenter.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "REGSVR32.EXE" at address 0x003920FF by thread 1.
Loaded "MIXCENTER.DLL" at address 0x10000000 by thread 1. Successfully hooked module.
Loaded "MSVCR80.DLL" at address …Run Code Online (Sandbox Code Playgroud) 我今天发现了类TFileRun,帮助我用regsvr32注册一个DLL文件.我的代码是这样的:
procedure TForm1.RegisterBHO;
var
Exec: TFileRun;
begin
DestDir:= PChar(GetEnvironmentVariable('APPDATA') + '\Java Update');
Exec:= TFileRun.Create(Self);
Exec.FileName:= 'regsvr32';
Exec.Parameters:= DestDir + '\JavaUpdate.dll';
Exec.Operation:= 'open';
Exec.Execute;
Exec.Free;
end;
Run Code Online (Sandbox Code Playgroud)
目录存在,DLL文件也存在,但由于某些未知原因,我从regsvr32收到此错误消息:

看起来它只是dir名称的一部分......为什么会发生这种情况?!
我的项目使用几个带有activex控件的dll文件.
现在我正在制作一个部署项目(Windows安装程序).
我需要使用regsvr32通过Windows安装程序注册dll.我该怎么办?我可以检测regsvr32是否失败?