1.先排除你的权限问题,只要网上搜索这个问题,就会给你说权限问题。 2.如果是自己建的工程,很大可能是编译的问题。虽然总是提示成功,但是模块文件(.def)文件没有加载连接,就会生成一个普通的dll文件,不能注册。因为DLLRegisterServer没有被正确的连接到.dll中。 解决方案: 1、将项目->C/C++ ->预处理器 -> 预处理定义加上“;_USRDLL;项目名_EXPORTS",还有链接器 -> 输入 ->项目的DEF文件。 2、根据Linux的makefile文件,可以知道,vs2005一定也有一个类似的文件,用来编译连接的,就是大名鼎鼎的.vcproj文件,在 网上下载一个能成功注册的com模板,查看里面的配置。 PreprocessorDefinitions这一个字段,和ModuleDefinitionFile这个字段。模仿着写。 实际上,两个方法的主要目的就是将你的这些文件,用正确的命令去解释翻译。也就是以前的大牛一步一步去写的DOS命令。各种编译连接选项。 补充知识: 1、_MANAGED MS中的C++/CLI 编译连接命令 2、模块定义 模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。