2009-03-12 23 views
2

IIS7'yi iş istasyonuma yükledim ve IIS6 uyumluluğunu etkinleştirdim, böylece klasik asp sayfalarını (işte bazı eski projeler için) test edebilirim.IIS 7 'Server.CreateObject başarısız oldu'

Bazı sayfalar çalışır, ancak diğerleri yapmaz.

Aldığım: o satırda

Serverobject error 'ASP 0177 : 800401f3' 

Server.CreateObject failed 

/master.central.be/master_connection.asp, line 55 

800401f3 

i var:

Set dicTalenLabels = Server.CreateObject("Scripting.Dictionary") 

Herkes neyi todo Bunu düzeltmek için bazı fikirler var?

Düzenleme: Michael Pryor tarafından önerildiği gibi

i benzer koduyla bir vbscript koştum ettik ve başarılı oldu. Yani muhtemelen izinlerle ilgili bir şey var. Şu anda hangi dosyaları tam olarak anlamaya çalışıyorsunuz ...

Scrrun.dll dosyasına IUSR eklemem gerekiyor mu? Deneme yaparken iznim yok, yine de yöneticiyim.

cevap

5

Düzenlendi: 32 bit vista çalışıyor, bu yüzden kesinlikle 64 bitlik bir sorun değil.

bir Test.vbs dosyası olun ve içine koymak

Dim o: = CreateObject ("Scripting.Dictionary") o HTML

Sonra öylesine

cscript.exe testi gibi çalıştırın .vbs

Size aynı hatayı veriyor mu?

Böyle yaparsa, regsvr32 başarısız oluyor veya kayıt defteri anahtarlarında bir sorun var, normalde kayıt defterine girer. başarısız etmezse

, bu (bu IUSR_machinename olan varsayılan) Eğer asp sayfasını çalışmakta olan kullanıcı ihtiyacı Ther kayıt defteri anahtarlarını veya gerçek .dll

+0

Denedim ama syswow64 dizinini bulamıyorum. Tüm sistemi aradım ve regsvr32.exe sadece c: \ windows \ system32 altında bulunabilir. Benim sistemim Vista 32bit. Öneri btw için teşekkürler! –

+0

tamamen 32 bit –

+0

aha olduğunuzu yansıtmak için cevabınızı düzenledik aha gidiyoruz, sanırım! vbscript'i çalıştırırken idd bir hata vermez. Şimdi asp izinlerine bakarak ... Teşekkürler, daha fazla oy verebilseydim ... –

1

0x800401f3, "Scripting.Dictionary" in yanlış olduğunu veya bulunamadığı anlamına gelir. Scripting.FileSystemObject, aynı dll dosyası tarafından sağlanır ve bazı ana bilgisayarların, dll dosyasının kaydını kaldırarak bunu devre dışı bıraktığını ve bunun da Dictionary nesnesini devre dışı bırakacağını biliyorum. Scripting.FileSystemObject çalışıp çalışmadığını kontrol edebilir misiniz?

Her iki nesne de Windows \ System32 \ scrrun.dll (veya 64bit ana bilgisayarda 32bit çalıştırıyorsanız, Windows \ SysWOW64 \ scrrun.dll) tarafından sağlanır. Bu dosyadaki izinleri kontrol edin ve asp komut dosyanızın hangi ayrıcalıklara sahip olduğunu doğrulayın.

+0

Haklısınız, Komut dosyası.FileSystemObject ayrıca çalışmıyor. Kullanıcıları veya grupları 'Sistem', 'Yöneticiler', 'Kullanıcılar', 'TrustedInstaller' listeleniyor, kimler eklemeliyim diye bir fikrim var mı? –

+0

@Sander: Yükseltilmiş bir komut isteminde "regsvr32 scrrun.dll" dosyasını çalıştırmayı deneyebilir misiniz? – sisve

+0

dll'yi kaydetmeyi denedim ama yardım etmedim, "scrrun.dll dosyasının başarılı bir şekilde DLLRegisterServer" olduğunu söylüyor. UAC devre dışı. Tavsiye btw için teşekkürler ... Daha fazla öneri? –