bayano
Goto Top

VBScript Fehlermeldung?

Hallo,

Ich habe mit VBScript ein Script erstellt was das Kennwortalter des Aktuellen Benutzers ausliest und wenn das Alter = 0 ist ein Anderes Script aufruft. Jetzt kommt bei einigen PC's, nicht bei allen ne Fehlermeldung.
1. Fehler: Der Prozedureinstiegspunkt "DoOpenPipeStream" wurde in der DLL "ScrRun.dll" nicht gefunden.
7508e3978ddf4a44285d785261abafc0-fehlerm1

2. Fehler: Die angegebene Prozedur wurde nicht gefunden. Code: 8007007F
0a494388c78b4662cc214c779dd79cc5-fehlerm2

Zum 1. Fehler: Die Datei ScrRun.dll ist bei den Rechnern gleich, deshalb weiss ich nicht woran es dabei liegen kann.

Zum 2. Fehler: Der Code:
Function isFolder(sFolderPath)
  Dim objFSO
  Set objFSO = CreateObject("Scripting.FileSystemObject")  
  isFolder = objFSO.FolderExists(sFolderPath)
End Function

If isFolder("c:\Programme\ProgrammX") Then  

Set fs = CreateObject("WScript.Network")  
username = fs.UserName
dom = fs.UserDomain

alter = 0


Weiss von euch jemand weiter? Ich komme nicht weiter.

MFG
Sascha

Content-ID: 66792

Url: https://administrator.de/contentid/66792

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

TuXHunt3R
TuXHunt3R 22.08.2007 um 12:35:22 Uhr
Goto Top
Wie hast du die beiden DLLs verglichen? Anhand der Grösse?
Bayano
Bayano 22.08.2007 um 13:11:29 Uhr
Goto Top
Ja, anhand der Größe und anhand des Datums.
TuXHunt3R
TuXHunt3R 22.08.2007 um 21:37:32 Uhr
Goto Top
Versuchs mal Windiff. Dieses vergleicht zwei Dateien oder Datensätze auf Bitebene. Windiff sollte in Windows integriert sein (irgendwo im C:\Windows), falls nicht, verwende "FC" in der Kommandozeile.
Bayano
Bayano 23.08.2007 um 07:41:52 Uhr
Goto Top
Hallo,

Ich habe die Dateien mal mittels FC verglichen. Das Ergebnis ist allerdings das Keine Unterschiede bestehen. Hat sonst noch jemand Ideen?
SvenGuenter
SvenGuenter 23.08.2007 um 09:17:11 Uhr
Goto Top
Gib mal Componenten von dem System wo das Programm klappt und dann auch noch von dem wo es nciht klappt. Wichtig hierbei ist erstmal nur welche Betriebssysteme da zum Einsatz kommen.
2. Ob Frameworks installiert sind
3. Es sieht zwar nach vbs für office 97-XP aus aber stimmt das oder nutzt du evtl. irgendwo schon das neue Office 2007?
Bayano
Bayano 23.08.2007 um 09:24:04 Uhr
Goto Top
Hallo,
1. Die PC´s sind beide Gleich, gleiche Hardware, gleiches Betriebssystem(W2k), gleiche Updates(SP4).
2. Es sind keine Frameworks installiert.
3. Es wir Office 2003 genutzt.
SvenGuenter
SvenGuenter 23.08.2007 um 09:27:39 Uhr
Goto Top
Guckstu hier

Zusammenfassung
Das Objekt "FileSystemObject" stellt eine nicht hierarchische Struktur zur Verfügung, mit der ASCII- und Unicode-Textdateien bearbeitet, gelesen und erstellt werden können. Diese Struktur unterscheidet sich sehr von der hierarchischen Struktur der Ursprungsimplementierung der Datei-E/A in Visual Basic. In "FileSystemObject" wird der Zugriff auf Binärdateien nicht unterstützt, daher müssen Sie das ursprüngliche Datei-E/A-Modell von Visual Basic dafür verwenden.

Zum Anfang
Weitere Informationen
"FileSystemObject" befindet sich in "Scrrun.dll". Außer "FileSystemObject" enthält "Scrrun.dll" vier weitere Objekte, die für Datei-E/A und andere Aufgaben zur Verfügung stehen. Diese vier Objekte sind: "File", "TextStreamObject", "Folder" und "Drive". Alle Objekte verfügen über Einstellungen und Methoden, die in den Hilfedateien ausführlich beschrieben sind.

Sie können "Scrrun.dll" erhalten, indem Sie eines der folgenden Pakete installieren:
Windows Script Host
Windows NT Option Pack
Microsoft Internet Information Server 3.0
Scripting 3.1-Upgrade
Visual Studio 6.0
Visual Basic 6.0

"FileSystemObject" wurde ursprünglich für Visual Basic Scripting Edition entwickelt. "FileSystemObject" ist nicht in der Objektbibliothek für Visual Basic oder Visual Basic for Applications enthalten. Um "FileSystemObject" verwenden zu können, müssen Sie für Ihr Projekt im Dialogfeld "Projektverweise" den Eintrag "Microsoft Scripting Runtime" auswählen.

Das folgende Beispiel zeigt, wie einige der Funktionalitäten von "FileSystemObject" implementiert werden können. Weitere Informationen finden Sie in den Hilfedateien von Visual Basic und in der Onlinedokumentation zu Visual Basic.

und hier noch der Link dazu

http://support.microsoft.com/kb/186118/de

und hier der Link zur kompletten Übersicht
http://search.microsoft.com/results.aspx?q=scrrun.dll&qsc0=0&Se ...


und Hier noch ein Hinweis
4.

Scripting Runtime - SCRRUN.DLL

Die Scripting Runtime kann in ihrer aktuellen Version 5.6 nur in Verbindung mit dem Windows Scripting Host (WSH), der als Redistributable erhältlich ist, installiert werden. Die Installation der "scrrun.dll" alleine reicht nicht mehr aus und führt zu einem Abbruch des Setups.

Wenn Sie nicht den Windows Scripting Host mit Ihrer Anwendung installieren möchten, können Sie auch die ursprüngliche Version der "scrrun.dll" von Ihrer VS/VB Installations-CD hernehmen und mit Ihrer Anwendung ausliefern.

Damit der Paket- und Weitergabe-Assistent bei neuen Setuppaketen nicht die Version aus dem System-Verzeichnis verpackt, legen Sie die "scrrun.dll" von Ihrer VS/VB Installations-CD in das Verzeichnis "%VB-DIR%WizardsPDWizardRedist".

Fazit

Mit dem VB-Verpackungsassistenten erstellte Setups funktionieren auch unter Windows 2000, Windows Me und Windows XP einwandfrei, sofern auf dem Entwicklungsrechner das aktuelle Servicepack für VB installiert ist, die Installation mit Administrationsrechten ausgeführt wird und sofern nicht irgend ein Programm oder eine Batch-Prozedur nach einem eventuell erforderlichen Neustart sofort das Temp-Verzeichnis des Zielrechners löschen.
SvenGuenter
SvenGuenter 23.08.2007 um 09:51:50 Uhr
Goto Top
Bayano
Bayano 23.08.2007 um 11:04:25 Uhr
Goto Top
Ja ok, das hilft mir aber direkt nicht weiter, da die ScrRun.dll auf beiden Rechnern gleich ist. Sonst noch eine Idee?
SvenGuenter
SvenGuenter 23.08.2007 um 11:58:05 Uhr
Goto Top
schicke mir doch mal bitte beide dll dateien
Bayano
Bayano 23.08.2007 um 13:40:49 Uhr
Goto Top
ja, mache ich gerne, musste mir nur deine Mail-Adresse mitteilen.
SvenGuenter
SvenGuenter 23.08.2007 um 13:52:31 Uhr
Goto Top
ups sorry hatte sie nicht hinterlegt hier ist sie

sven.guenter@sven-guenter.com
SvenGuenter
SvenGuenter 23.08.2007 um 14:02:55 Uhr
Goto Top
hallo noch eine Sache. Schaue bitte mal mit foglendem Tool nach ob der WSH aktiviert ist. Und zwar auf der Maschine wo die Fehlermeldung kommt.

http://www.symantec.com/avcenter/noscript.exe

damit kann man das hosting script ein bzw. auch ausschalten. Sollte das script deaktiviert sein dann aktivere es bitte mir dem Tool. Sollte der Fehler dann immer noch auftauchen dann bitte den aktuellen wsh runterladen unter

http://www.microsoft.com/downloads/details.aspx?FamilyID=e74494d3-c4e1- ...

und auf der Maschine installieren wo der Fehler auftritt.

dann wieder mit dem tool testen ob wsh aktiviert ist. Und dann nochmal versuchen.

Gruß

Sven
Bayano
Bayano 23.08.2007 um 15:00:08 Uhr
Goto Top
Hab ich gemacht, Fehler ist leider immer noch da.
SvenGuenter
SvenGuenter 23.08.2007 um 15:29:15 Uhr
Goto Top
regsvr32 c:\windows\system32\scrrun.dll"

mach das auch nochmal bei der maschine wo es nciht klappt ich checke gerade die beiden dll's
SvenGuenter
SvenGuenter 23.08.2007 um 15:37:19 Uhr
Goto Top
So also ich bin mit meinem Latein am ende wenn du alles gemacht hast. Ich habe beide dll's gechecked und es sind beides die gleichen Versionen. Wenn du die dll registriert hast udn die aktuelle Version des WSh auch noch hast dann verstehe ich die Meldung echt nicht mehr.
Hier das Script womit ich die Versionsnummer auslese

Option Explicit


Sub versionsnummer()
Dim fso As Object, Version As String
Set fso = CreateObject("Scripting.FileSystemObject")

Version = fso.GetFileVersion("c:\pc2\scrrun.dll")
MsgBox "Die .dll hat Verion: " & Version
End Sub


Vielleicht kann Dir da jemand anderes weiter helfen.

Gruß

Sven
Bayano
Bayano 03.09.2007 um 08:00:50 Uhr
Goto Top
Ich habe jetzt noch einmal den WSH drüber installiert, und jetzt läuft es wieder. Aber Danke für die Hilfe.

MFG
Sascha