regasm.exe程序集注册工具

最近在做Windows Shell的扩展实现,需要用到regasm.exe注册程序集,故做个记录

程序集注册工具读取程序集中的元数据,并将所需的项添加到注册表中。注册表允许COM客户程序以透明方式创建.NET Framework类。类一经注册,任何COM客户程序都可以使用它,就好像该类是一个CO类。类仅在安装程序集时注册一次。程序集中的类实例直到被实际注册时,才能从COM中创建。

注册格式

regasm assemblyFile [options]

assemblyFile表示要向COM注册的程序集文件路径

选项 说明
/codebase 在注册表中创建一个Codebase项。codebase项指定未安装到全局程序集缓存中的程序集的文件路径。如果随后要安装正在注册到全局程序集缓存中的程序集,则不应指定此选项。用/codebase选项指定的assemblyFile参数必须是具有强名称的程序集。
/registered 指定此工具将仅引用已经注册的类型库
/unregister或/u 注销在assemblyFile中找到的可创建类。
/?或/help 显示该工具的命令语法和选项

需要注意的一点是在32位系统上要使用C:windowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe

在64位上要使用

C:windowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe

切记

附加一个我使用的批处理:

注册使用:

@echo off
rem 进入到当前目录
cd /d %~dp0

%windir%Microsoft.NETFramework64v4.0.30319RegAsm.exe /register /codebase RegistryNamespaceExtension.dll
rem 重启资源管理器
taskkill /f /im explorer.exe & start explorer.exe
pausee

注销使用:

@echo off
cd /d %~dp0
%windir%Microsoft.NETFramework64v4.0.30319RegAsm.exe /unregister RegistryNamespaceExtension.dll

taskkill /f /im explorer.exe & start explorer.exe

pause

原文地址:https://www.cnblogs.com/zzr-stdio/p/13039841.html