VB6アプリケーションはVistaコンピューターで開かなくなりました
-
03-07-2019 - |
質問
以前はVistaマシンでスケジュールされたタスクで完全に機能していたVB6アプリがありますが、同じマシンではもう開きません。アプリは、画面に直接出力せずに、指定されたフォルダーにエクスポートファイルを生成します。エラー、参照の欠落はなく、絶対に nothing になります。
マシンはVista Business 32ビットを実行しており、UACは単一の管理者アカウントで無効になっており、自動更新はオフになっています。アプリは保護されていないフォルダーにあり、エクスポートファイルはデスクトップ上のフォルダーに配置されます。クライアントは、このアプリをインストールしてからコンピューターに行った変更はNorton Antivirusのインストールのみであり、これまでにソフトウェアで問題が発生したことはないと誓っています。
通常のVB6参照に加えて、アプリはMicrosoft Scripting Runtime(scrrun.dll)およびMicrosoft DAO 3.6(dao360.dll)を参照します。これらのファイルは両方とも存在し、他のすべてのVB6依存関係とともにターゲットマシンに登録されます。 Sub Main()の先頭にMsgBoxステートメントを追加して、何かが実行されているかどうかを確認します。ノートンを無効にしても結果は得られず、VB6ランタイムを再インストールして破損したライブラリを除外しませんでした。アプリからメッセージやエラーなどを受け取ったことは一度もありませんでした。
これまでこのような問題は一度もなかったので、完全に困惑しています。これを引き起こしている可能性のあるものは他にありますか?
編集-アプリは手動で実行しても実行されないため、スケジュールされたタスクであるという部分は問題に関係ありません。含めてすみません。
ユーザーは完全な管理者資格情報を持っているため、最初のテストでは互換性モードは必要ありませんでした。にやにやについては、XPと2000の互換モードを試しましたが、まだ何もありませんでした。
解決
検査してみてください-アクセスできる場合-イベントビューアのメッセージ。多分あなたはそこにいくつかのテルテルサインを見つけるでしょう...
他のヒント
無料の Windbg でプログラムを実行してみてください。 Microsoftのスタンドアロンデバッガー。 VB6 EXEをシンボル付きのネイティブコードにコンパイル(PDBファイルを作成)すると、Windbgでアプリケーションをデバッグできるようになります。
2つのことが起こると思います。
- WindbgはEXEのロードに失敗します。おそらく、問題を特定するエラーメッセージが表示されます。
- WindbgはEXEをロードし、シングルステップで何が起こるかを確認できます。
2006年のブログ投稿 WindbgをVB6で使用することについてマイクロソフトの人、および 2004のブログ投稿 Windbgについて簡単に紹介した、別のMicrosoft VB担当者。
ユーザーがパスワードを変更しましたか?これにより、タスクのパスワードを再入力するまで、スケジュールされたタスクは失敗します。
スケジュールされたタスクとしてではなく、プロセスを直接実行しようとしましたか?私は専門家とはほど遠いですが、プログラムがタスクとして実行されているため、生成されたエラーが表示されない可能性があります。