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:\windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe

在64位上要使用

C:\windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe

切記

附加一個我使用的批處理:

注冊使用:

@echo off
rem 進入到當前目錄
cd /d %~dp0

%windir%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /register /codebase RegistryNamespaceExtension.dll
rem 重啟資源管理器
taskkill /f /im explorer.exe & start explorer.exe
pausee

注銷使用:

@echo off
cd /d %~dp0
%windir%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /unregister RegistryNamespaceExtension.dll

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

pause


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM