2009-03-03 10 views
0

Ich habe eine VB6 App, die früher perfekt auf einem Vista-Rechner als eine geplante Aufgabe arbeitete, aber es wird nicht mehr auf dem gleichen Computer geöffnet. Die App generiert Exportdateien in einem angegebenen Ordner ohne direkte Ausgabe auf dem Bildschirm. Ich bekomme keine Fehler, keine fehlenden Referenzen, nur absolut nichts.VB6 Anwendung öffnet nicht mehr auf Vista Computer

Der Computer läuft mit Vista Business 32-Bit, UAC ist mit einem einzigen Administratorkonto deaktiviert und automatische Updates sind deaktiviert. Die App befindet sich in einem nicht geschützten Ordner und die Exportdateien werden in einem Ordner auf dem Desktop abgelegt. Der Kunde schwört, dass die einzige Änderung, die er an diesem Computer vorgenommen hat, seit ich diese App installiert habe, die Installation von Norton Antivirus ist, was nie zuvor Probleme mit unserer Software verursacht hat.

Zusätzlich zu den normalen VB6-Verweisen verweist die App auf Microsoft Scripting Runtime (scrrun.dll) und Microsoft DAO 3.6 (dao360.dll). Diese beiden Dateien sind zusammen mit allen anderen VB6-Abhängigkeiten auf dem Zielcomputer vorhanden und registriert. Ich habe MsgBox-Anweisungen am Anfang von Sub Main() hinzugefügt, nur um zu sehen, ob etwas ausgeführt wird, und es nicht. Die Deaktivierung von Norton brachte keine Ergebnisse, und auch die VB6-Laufzeit wurde nicht neu installiert, um beschädigte Bibliotheken auszuschließen. Nicht einmal habe ich irgendwelche Nachrichten, Fehler oder anderweitig von meiner App erhalten.

Ich hatte noch nie ein Problem wie diese und ich bin völlig ratlos. Gibt es noch etwas, das das verursachen könnte?

Bearbeiten - Die App läuft nicht einmal, wenn ich es manuell ausführen, so dass der Teil darüber eine geplante Aufgabe ist irrelevant für mein Problem, tut mir leid für die Aufnahme.

Der Benutzer verfügt über vollständige Administratoranmeldeinformationen, bei dem ersten Test, der zu der Zeit auf diesem Computer ausgeführt wurde, auf dem ich das Problem habe, war kein Kompatibilitätsmodus erforderlich. Für grins habe ich den Kompatibilitätsmodus für XP und 2000 probiert, immernoch nichts.

+0

Gibt es eine Chance, dass der Kompatibilitätsmodus der ausführbaren Datei geändert wird?(Außerdem habe ich das als "nicht programmierungsbezogen" gewählt, tut mir leid.) – Tomalak

+0

Es lief vorher, und jetzt läuft es nicht im Zeitplan? Klingt nach einem Zeitplanproblem. Wird es ausgeführt, wenn der Benutzer darauf doppelklickt? Wenn ja, ist es kein Problem mit dem Programm ... –

+0

Ich habe das "Software" -Tag herausgenommen, da es etwas unspezifisch ist. Bei Stackoverflow geht es um Software. Hoffe, du schaffst es, das Problem zu lösen, klingt fies! – MarkJ

Antwort

3

Versuchen Sie, die Meldungen der Ereignisanzeige zu überprüfen, wenn Sie darauf zugreifen können. Vielleicht finden Sie einige Tell-Tell-Zeichen dort ...

+0

Ich dachte nicht, den Event Viewer zu überprüfen, danke für den Vorschlag. –

+1

Beim Überprüfen der Ereignisanzeige habe ich festgestellt, dass mein Programm eine beschädigte Datenbankdatei abspeicherte, bei der es sich um die erste Datei handelte, auf die zugegriffen wurde. Die DB Datei wurde korrigiert und es funktioniert wieder wunderbar! Ich danke dir sehr! –

+0

Das Problem gelöst, +1 per Definition! – MarkJ

0

Hat der Benutzer sein Passwort geändert? Dies führt dazu, dass die geplante Aufgabe fehlschlägt, bis sie das Kennwort für die Aufgabe erneut eingeben.

+0

Nein, sie haben das Passwort nicht geändert. Das Problem scheint bei der App selbst zu liegen und nicht bei der geplanten Aufgabe. –

0

Haben Sie versucht, den Prozess direkt auszuführen, anstatt als geplante Aufgabe? Ich bin weit von einem Experten entfernt, aber es kann sein, dass alle erzeugten Fehler nicht angezeigt werden, weil das Programm als Aufgabe ausgeführt wird.

+0

Ja, ich habe versucht, den Prozess direkt auszuführen und es schlägt immer noch fehl. –

1

Sie könnten versuchen, das Programm in Windbg, einem kostenlosen eigenständigen Debugger von Microsoft. Kompilieren Sie Ihre VB6 EXE in nativen Code mit Symbolen (erstellen Sie PDB-Dateien) und Sie können Ihre Anwendung in Windbg debuggen.

Ich würde vermuten, eines von zwei Dingen wird passieren.

  • Windbg kann die EXE nicht laden. Vermutlich mit einer Fehlermeldung, die Ihr Problem identifiziert.
  • Windbg wird die EXE laden, und Sie können Schritt für Schritt durchsehen, was passiert.

Hier ist ein 2006 blog post von einem Microsoft-Mann über Windbg mit VB6 und 2004 blog post von einem anderen Microsoft VB Kerl mit einer kurzen Einführung in Windbg.

+0

Ich habe mein Problem gefunden, ohne auf Windbg zurückgreifen zu müssen, aber danke, dass ich diese Links geteilt habe. Ich habe andere seltsame Dinge erlebt, die ich mit Dependency Walker versucht habe, um Ärger zu machen, aber das gibt so viel mehr Informationen. –

+0

Froh, dass Sie das Problem gelöst haben – MarkJ