我正在閱讀ASP經典的一些註冊表以獲取我需要的一些值並將它們保存爲應用程序級別的變量。在Global.asa文件我的代碼:ASP經典WshShell.RegRead錯誤「80070002」
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("test") = "testing..."
Dim WSHShell, regLink
Set WSHShell = CreateObject("WScript.Shell")
regLink = "HKEY_LOCAL_MACHINE\SOFTWARE\Odyssey\"
Application("test2") = WSHShell.RegRead(regLink & "value")
End Sub
</SCRIPT>
在我TEST.ASP文件,我只是輸出的「測試」和「測試2」的變量。但是,在運行TEST.ASP,我得到錯誤信息:
WshShell.RegRead錯誤「80070002」
在註冊表項中無效的根
我已經檢查和雙重檢查,關鍵確實存在,並且這個代碼工作在我們的舊服務器上,所以我認爲這是IIS中的配置問題。如果我能找到它,我會被詛咒的。 ASP Classic已安裝並啓用,並且在Windows Server 2008 R2 x64上使用IIS 7.5。希望有人知道問題是什麼。
編輯:我下載了Process Monitor來查看註冊表訪問。經過一番搜索。我發現它實際上是在「HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Odyssey \ value」中尋找關鍵字。我收集這與64x的服務器有關。我不想將鍵移動到該位置,因爲它們可能永遠不會再被找到,特別是當代碼指向不同的目錄時。
有沒有辦法阻止這種重定向或更改結構,這樣可以工作?
在此先感謝您的幫助。
道格
更新的問題包含一些從Process Monitor發現的新細節。 – Doug
感謝您更新您的帖子。您可能在這裏發佈您的問題(或實際上尋找答案)的運氣更好:http://serverfault.com/ – dcaswell