2012-07-13 61 views
0

我有一個DLL(用VB6寫成..)。它在大多數機器和安裝上註冊並運行良好。但是,一個安裝是運行Server 2003/R2/SP2的T/S(終端服務器)。我遇到以下消息:dll 2003 80040005錯誤寄存器

C:\ Program files \ ApplicationPath \ ModulesPath \ dllname.DLL中的DllRegisterServer失敗。返回代碼是:0x80004005

我已經確保路徑具有模塊&它的依賴關係駐留的目錄,我已經確保以「以限制訪問運行此程序」的管理員身份運行CMD提示符複選框未覈對。

我運行的是depend.exe,它說IESHIMS.DLL & WER.DLL丟失,但它們在另一個2003 Svr/R2/SP2盒子上也丟失,它在那裏註冊並運行良好。

任何人都有什麼想法在哪裏尋找什麼&?我也花了一些時間比較文件夾的權限,文件內容&版本等等,在一個工作和非工作的服務器之間。

回答

0

0x80004005通常是ACCESS_DENIED。有時,終端服務器設置上的權限和配置可能會略微偏離地圖。驅動器/位置可以被虛擬化,並且某些路徑被限制以保持配置清潔。起碼,這是我一開始就懷疑的。

如果您已經確保命令提示符與Admin privs一起運行,那麼TS框中文件夾的直接權限可能是問題。

祝你好運。

+0

THANKs ..試過..比較工作版本文件夾權限與非工作版本..用戶和權限是相同的..感覺像一個doig追逐我的尾巴,但沒有任何Spot的樂趣獲取從它.. – 2012-07-13 20:36:45

+0

你檢查了註冊表項HKEY_CLASSES_ROOT的權限嗎?這是我可能期望TS配置相對於「常規」Windows盒子開始變得更加鬆動的一個地方。除此之外,我會嘗試的下一件事是在盒子上放一個ProcessMonitor,然後啓動它,然後再次執行regsvr32,看看它是否能給你更多關於ACCESS_DENIED發生的確切位置的細節。 – 2012-07-13 20:48:50

+0

That too ..權限似乎在那裏..檢查管理員用戶的「有效權限」,確保用戶配置文件是管理員組的成員,檢查HKCR和管理員有「完全控制」..我' m難倒了......你提到的這個「ProcessMonitor」在哪裏?順便說一句,感謝迄今.. – 2012-07-13 21:04:05