[Windows]在Windows Server 2008透過regsvr32註冊COM元件出錯

[Windows]在Windows Server 2008透過regsvr32註冊COM元件出錯

當我們在註冊COM元件時,很自然的會在執行中打入regsvr32 xxx.dll來進行,但今天在Windows Server 2008上執行卻出現錯誤。

錯誤訊息:模組"xxx.dll" 已經載入,但是呼叫DllRegisterServer失敗,錯誤碼為0x80004005。

錯誤畫面如下:

image 

這個指令我使用過幾百次了,從來沒出現這個錯誤過,包含在Windows Server 2008上,而今天竟然給我碰上了,我仔細的想想,以前我都是用Administrator帳號登入,今天不是,會不會是這個原因?我檢查一下目前登入者的權限,發現他隸屬於Administrators群組,但不是電腦管理員的權限,為了驗證是權限的問題,我切換使用者,使用Administrator登入,發現一切就正常了,看來果然就是權限的問題了,後來上網查到在Windows Server 2008上使用regsvr32指令,需要有Administrator的權限,又或者停用UAC(User Account Control),停用UAC是不考慮了,目前還是以Administrator權限登入來執行為佳。

今天接著又發現安裝好的Windows Service竟然無法正常執行,原因是安裝路徑在Program Files下面,而這個路徑一般的使用者也是沒有權限的,真糗,陸續測到一些安全性管制的問題,往後連線到客戶端,如果很多指令都不能執行,看來一定會增加很大的負擔,真讓人擔心...

 

參考資料:

The Call to DllRegisterServer Failed with Error Code 0×80004005 on Windows Vista

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。