2009-12-22 109 views
1

我正在從Windows 2000服務器移動一個Dll(內置C++)到2008服務器,但即時通訊有一些麻煩註冊它。在2000年,你所需要做的只是一個「regsrv32 name.dll」,但這在2008年將不起作用,因爲你得到一個指針錯誤,iv也嘗試使用「gacutil/i name.dll」,因爲有人告訴我這可能會起作用,但它沒有。所以,我有點絕望,有沒有人有一些解決方案,我可以如何讓這個c + + dll在2000服務器上工作,以便我可以從一個古老的經典asp頁面訪問它。Windows Server 2008和COM對象

編輯: 這種運行regsrv時出現錯誤:‘已加載,但在入口點中的DllRegisterServer未找到

確保‘ 「 模塊’name.dll name.dll’是一個有效的DLL或OCX文件,然後再試一次。 「

請注意,我不能,無論如何編輯dll文件。

+0

引用來自regsvr32的錯誤消息的確切文本可能會有幫助。 – sharptooth 2009-12-22 11:26:14

+0

已註冊並添加! – Marthin 2009-12-22 11:38:05

回答

1

如果啓用了UAC,你運行一個提升的命令提示符當你調用REGSVR32?如果沒有,你可能會在註冊函數中得到一個訪問被拒絕的錯誤(這可能會以各種不好的方式表現出舊的東西)。

您必須登錄爲管理員,然後運行帶命令行提示右鍵單擊「以管理員身份運行」。

+0

我以真正的管理員身份運行。 – Marthin 2009-12-22 11:39:21

+0

但你運行提升的命令提示符? Vista,2008和Win7都有另一層安全性 - 當你啓動一個進程時,你必須「聲明」你的特權,否則你會得到一個無法做任何事情的「弱」管理員版本的管理員。 – nitzmahone 2009-12-22 19:01:55

+0

啊,沒關係 - 你的錯誤信息證明它不是一個普通的COM服務器。如果DllRegisterServer不在那裏,使用regsvr32自行註冊將不起作用。 – nitzmahone 2009-12-22 19:03:16