我試圖將一個分類ASP站點移動到64位Windows 2008服務器。我現在遇到的問題(如果/當我經歷這個問題時可能有其他問題)是該站點依賴於舊的VB6 DLL(32位),並且我得到臭名昭着的「ActiveX組件無法創建對象」錯誤。64位操作系統上的32位ActiveX DLL的問題
我試圖通過試圖讓它與一個簡單的VBS腳本文件一起工作,從而將IIS7排除在等式之外,這就給了我同樣的想法。
這個DLL唯一的依賴是ADO 2.6,而且從我讀過的內容來看,這並不是Windows 2008所需要的,因爲包含了WDAC並已經取代了MDAC。
我用下面的註冊我的組件:
C:\Windows\SysWOW64\regsvr32.exe "C:\MyVb6Com.dll"
我查了註冊表,一切似乎正確那裏。我的VBS文件也很簡單:
CreateObject("MyVb6Com.Session")
並立即引發錯誤:
ActiveX component can't create object: 'MyVb6Com.Session'
在IIS結束,我已經試圖改變應用程序池的設置,以使32位應用程序,這也沒有幫助(當然,如果我不能使用WBS文件工作,這兩種方式都沒有什麼不同)。
任何幫助將非常感激。
確保您使用32位WScript來測試您的VB腳本。雙擊它將使用64位。 – vcsjones 2011-01-05 02:52:39
謝謝,vcsjones。我實際上使用的是64位版本,一旦我切換到32位,那就工作了。於是我再次嘗試了網站,奇怪的是它也起作用了。所以當我嘗試讓VB腳本運行時,我做了一些事情,解決了IIS問題。太糟糕了,我不知道它是什麼。謝謝你的幫助。如果你不在乎,把這個作爲答案,我會標記,因爲它有助於解決我的情況。 – 2011-01-05 03:05:42
呵呵。那麼,只要它工作:-) – vcsjones 2011-01-05 03:08:26