samtrex
Goto Top

vbscript - regread funktioniert nicht in sub

Hallo, ich hoffe meine Frage ist hier richtig ....

WSH in Winsows XP Pro; Es geht mir um folgendes:
Ich möchte die Registry auf einen Schlüssel hin prüfen, um zu sehen ob er existiert oder nicht.

'------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On Error Resume Next
Dim objshell
set objshell = createobject("wscript.shell")

err.number = 0
objshell.regread ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-F400-7760-000000000002}\")
if not err.number = "0" then
objshell.popup "Adobe Acrobat Reader 8.0", 5, "Softwareaktualisierung", vbOKOnly
objshell.exec ("\\Server\ClientApps\acroread8\Setup.exe /sall /norestart")
end if
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Wenn ich diesen Ablauf in meinem Script direkt eintrage ist alles ok.
Wenn ich das ganze jetzt aber lieber in einem Sub haben möchte streigt mir das ganze!

'------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On Error Resume Next
Dim objshell
set objshell = createobject("wscript.shell")

NetInstall

Sub NetInstall

err.number = 0
objshell.regread ("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-1033-F400-7760-000000000002}\")
MSGBOX (err.number)
if not err.number = "0" then
objshell.popup "Adobe Acrobat Reader 8.0", 5, "Softwareaktualisierung", vbOKOnly
objshell.exec ("\\Server\ClientApps\acroread8\Setup.exe /sall /norestart")
end if

End Sub


Ich habe das Object auch schon im Sub deklariert, bring auch nichts.
Die Messagebox zeigt er mir schon nicht mehr an.
Das Problem tritt dann auf, wenn der Schlüssel NICHT existiert.
Ohne Sub bekomme ich einen Errorwert zurück, mit Sub bricht er einfach ab...

Kann mir jemand sagen warum das so ist, bzw. wie ich es umgehen kann!?

Besten Dank
Gruß Sam

Content-ID: 52530

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

Ausgedruckt am: 25.11.2024 um 17:11 Uhr

bastla
bastla 23.02.2007 um 23:58:35 Uhr
Goto Top
Hallo SamTrex!

Vorweg: Es ist für mich nicht wirklich ersichtlich, was Dir hier das Auslagern in ein Sub eigentlich bringen soll.

Anyhow - stell einfach das "On Error Resume Next" in das Sub hinein (funktioniert nämlich nicht über Prozedurgrenzen hinweg).

Grüße
bastla
SamTrex
SamTrex 24.02.2007 um 13:03:33 Uhr
Goto Top
Mehr nicht?! Lediglich das "On Error Resume Next" ....

Eigntlich hast du ja recht.
Möchte es wegen Gliederung wegen machen.
Das ganze ist ein NetLogonScript. Sprich es wird noch mehr an Softwareabfragen
dazukommen. Vielleicht mache ich das noch so, das ich an das sub nur den Schlüssel
übergebe und den Errorwert auslese.

Vielen Dank
Gruß Sa,
bastla
bastla 24.02.2007 um 13:09:12 Uhr
Goto Top
Hallo SamTrex!

Vielleicht mache ich das noch so, das ich an das sub nur den Schlüssel übergebe und den Errorwert auslese.
... was dann ja eher für eine Function sprechen würde.

Grüße
bastla