为了C# COM组件的注册,浪费了我一天半的时间。现把经验分享出来。
C# COM组建的注册过程:
用Regsvcs /c DllName.dll注册新的COM组件,发现已有该组件则报错。
用Regsvcs /fc DllName.dll注册新的COM组件,发现已有该组件则覆盖。
用Regsvcs /u DllName.dll卸载COM组件。
Regsvcs.exe在Microsoft.NET的安装路径下。
但注意C#组件在编写时要注意几个规则:
1、编写的COM组件类要派生ServicedComponent,
否则会报找不到ServicedComponent的错误。
2、要加上命令‘[assembly: ComVisible(true)]’,
让COM组件可见。
3、要加上命令‘[assembly: AssemblyKeyFileAttribute("RecordDB.snk")]’,
创建一个密钥文件,用于创建强名称。
另外,注册完的DLL路径是可变的不是固定的,譬如你注册了这路径‘C:/Windows/DllName.dll
’,可执行文件在‘D:/Test/’,那么如果‘D:/Test/’路径下有DllName.dll,则可执行文件
会调用‘D:/Test/’路径下的DllName.dll文件。否则,可执行文件会去‘C:/Windows’路径下
找DllName.dll文件。