Windows Server 2008和com对象

Windows Server 2008和com对象,com,asp-classic,windows-server-2008,Com,Asp Classic,Windows Server 2008,我正在将一个Dll(内置于c++中)从windows 2000服务器移动到2008服务器,但我在注册它时遇到了一些问题。在2000年,你通常需要做的只是一个“regsrv32 name.dll”,但在2008年这将不起作用,因为你得到了一个指针错误,iv也尝试使用“gacutil/i name.dll”,因为有人告诉我这可能起作用,但它没有起作用。所以,我有点绝望,有没有人能解决我如何让这个C++ DLL在2000服务器中工作,这样我就可以从一个老的ASP页面访问它。 编辑: 这是运行regsr

我正在将一个Dll(内置于c++中)从windows 2000服务器移动到2008服务器,但我在注册它时遇到了一些问题。在2000年,你通常需要做的只是一个“regsrv32 name.dll”,但在2008年这将不起作用,因为你得到了一个指针错误,iv也尝试使用“gacutil/i name.dll”,因为有人告诉我这可能起作用,但它没有起作用。所以,我有点绝望,有没有人能解决我如何让这个C++ DLL在2000服务器中工作,这样我就可以从一个老的ASP页面访问它。 编辑: 这是运行regsrv时出现的错误: " 已加载模块“name.dll”,但未找到入口点DllRegisterServer

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


请注意,我无论如何都无法在中编辑dll文件。

如果启用了UAC,调用regsvr32时是否运行提升的命令提示符?如果没有,您可能会在注册函数中得到一个拒绝访问错误(对于这么旧的东西,它可能以各种不好的方式表现出来)


您必须以管理员身份登录,然后右键单击“以管理员身份运行”来运行命令提示符。

如果UAC已启用,则在调用regsvr32时是否运行提升的命令提示符?如果没有,您可能会在注册函数中得到一个拒绝访问错误(对于这么旧的东西,它可能以各种不好的方式表现出来)


您必须以管理员身份登录,然后右键单击“以管理员身份运行”来运行命令提示符。

引用来自regsvr32的错误消息的确切文本可能会有所帮助。引用来自regsvr32的错误消息的确切文本可能会有所帮助。我以真正的管理员身份运行。但是您是否正在运行命令提示符?Vista、2008和Win7还有另一层安全性——当你启动一个进程时,你必须“维护”你的权限,或者你得到一个“弱酱”版本的管理员,它实际上什么都做不了。啊,别担心——你的错误消息证明它不是一个普通的COM服务器。如果没有DllRegisterServer,则使用regsvr32进行自我注册将不起作用。我正在以真正的管理员身份运行。但是您是否正在运行命令提示符?Vista、2008和Win7还有另一层安全性——当你启动一个进程时,你必须“维护”你的权限,或者你得到一个“弱酱”版本的管理员,它实际上什么都做不了。啊,别担心——你的错误消息证明它不是一个普通的COM服务器。如果没有DllRegisterServer,则使用regsvr32进行自我注册将不起作用。