Windows
我如何知道 DLL 是否已註冊?
當您在舊機器 (Windows XP) 中註冊 DLL 時,regsrv 總是說註冊成功。即使使用者沒有註冊權限,也會發生這種情況。
使用 dll 的名稱,是否有可以在命令行執行的命令來驗證是否安裝了 DLL?
我找到了這個連結:如何判斷 DLL 是否已註冊?:
鑑於 DLL 註冊可以包含任意操作,因此沒有通用方法來確定是否已為任意 DLL 進行註冊。
要確定 DLL 是否已註冊,您需要引入特定領域的知識。如果您知道 DLL 使用特定 CLSID 註冊 COM 對象,則可以檢查該 CLSID 是否確實已註冊。
好的,這是不可能的,但是 DLL 通常會註冊自己,在寄存器中創建一個條目。一種解決方法是:
首先,您必鬚髮現 DLL 的 COM GUID。如果您有一台已經註冊的機器,您可以:
打開 regedit 並蒐索您的 DLL 文件名
如果已註冊,您將在 TypeLib 下的鍵下找到文件名。密鑰將如下所示:{9F3DBFEE-FD77-4774-868B-65F75E7DB7C2}
現在您知道 DLL GUID,您可以在 DOS 提示符下使用以下命令搜尋它:
reg query HKCR\CLSID | find /i "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"
更好的答案是讓我在註冊之前直接從文件中找到 GUID。至少通過這種方式,您可以創建一個腳本來安裝並驗證它是否已成功安裝。