.exe via VB6.0 testen

  • #1
S

sp00n

Aktives Mitglied
Themenersteller
Dabei seit
20.01.2006
Beiträge
35
Reaktionspunkte
0
Ort
Osnabrück / Göttingen
Ich bin auf der Suche nach einer Möglichkeit eine .exe Datei zu testen.
Mit testen meine ich, ausprobieren ob sie funktioniert.

Mein Problem:

Ich baue für meinen Home-Server(Win2000) ein VB-Script, das die aktuelle Virenmaske meines Antivirenprogramms downloadet und dann für alle Rechner im Haus veröffentlicht. Die Rechner ziehen sich dann automatisch bei jeder Anmeldund dieses Virenmasken-Update.

Deswegen möchte ich die Datei ( das Virenmasken-Update ;) ) erst auf Lauffähigkeit überprüfen, bevor sie für alle freigegeben wird. Falls der Download nämlich mal abschmiert, habe ich ja nur ne halbe Datei, und die darf dann natürlich nciht von den einzelnen Clienten gezogen und instaliert werden.


Meine Frage:

Gibt es mit Visual Basic 6.0 eine Möglichkeit eine .exe-Datei auf Lauffähigkeit zu überprüfen?
Bzw. kennt jemand vielleicht schon ein fertiges Script, welches diese Aufgabe erfüllt ;)


Vielen Dank schon mal hier für eure kommenden Ideen :)
 
  • #2
Huh.. ;)
Ich bins nochmal :p

Kann hier leider übers Wochenende nicht reingucken.. wäre trotzdem nett wenn ich Montag viele viele viele Einträge finden würde ;)

thx & mfG ;)
 
  • #3
Ich weiss jetzt grad nicht genau wie, aber soweit ich mich erinnern kann, tritt doch ein Fehler auf, falls der Download abbricht. Sollte also ein Fehler auftreten, nimmst du die Datei nicht und fängst nochmal von vorne an.

Gruß
Christian
 
  • #4
hm..

es kann ja auch vorkommen, dass die Datei schon auf dem Sever fehlerhaft ist.
Deshalb wollte ich gerne wissen, wie man im Algemeinen .exe-Dateien auf lauffähigkeit mit vb6.0 prüft. Wenn es überhaupt geht. ;)
 
  • #5
Hi,

hab es nun doch etwas anders gemacht. Ich lese einfach den header der EXE aus und überprüfe, ob es ein Windows-Header ist.

Hier der Code, wenn jemand interesse hat.
Code:
Public Function GetExeHeader(ByVal LocalTempFile As String) As Boolean
  Dim fno As Integer
  Dim Result As Long
  Const hPosition = &H19
  Const Value = &H40
  
  fno = FreeFile
  Open LocalTempFile For Binary As #fno
    Seek #fno, hPosition
    Get #fno, , Result
    If Result >= Value Then
      GetExeHeader = True
    Else
      GetExeHeader = False
    End If
  Close #fno
End Function

Die Funktion gibt entwerder True oder False zurück.

mfg sp00n
 
  • #6
Und das soll schon ausreichen, um zu gewährleisten, dass die Datei fehlerfrei heruntergeladen wurde?
Kann ich mir irgendwie nicht so richtig vorstellen.

Gruß
Christian
 
  • #7
Ja stimmt..

Aber ich weiss z.Z. keine bessere Lösung, als den Header zu überprüfen..

Nehme gerne weitere Vorschläge entgegen ;)
 
  • #8
Und wenn du die Datei aus VB raus ausführst und denn Rückgabecode abfragst?

Gruß
Christian
 
  • #9
hmm...

hört sich gut an, haste nen Vorschlag (Code :D) wie ich das machen könnte?
Besonders das mit dem Rückgabewert bereitet mir schwierigkeiten.. :)
 
  • #10
In C# könnt ich dir was geben. In VB muss ich erst mal gucken. Aber vor nächster Woche hab ich wahrscheinlich keine Zeit mehr. Kannst ja mal googeln.

Gruß
Christian
 
  • #11
Jo Googlen tu ich schon lang ;)
 
  • #12
Also hab grad mal kurz geguckt aber auch nix groß gefunden. Der Rückgabewert heißt soweit ich mich erinnern kann Errorlevel. Bin mir aber nich ganz sicher.

Gruß
Christian
 
  • #13
Alles klar, danke für deine Mühe ich google mich mal um ;)
 
  • #14
Sonst keiner ne Idee ? ;)
 
Thema:

.exe via VB6.0 testen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben