0

私は失敗した場合、失敗した後に最初に実行される "リカバリモード"にデフォルトしたいと思うWindowsアプリケーションがあります。リカバリモードを実装するための戦略

私はこのエラーと、ユーザーが回復するために行うことができるさまざまなことにフラグを立てても問題ありません。復旧モードユーティリティを実際に起動すると、頭痛になります。私はいくつかのアイデアを持っていましたが、他の誰かがより良い方法を見つけたと思っていました。

1)前回のエラーを確認してからリカバリモードユーティリティを起動すると、メインアプリが最初に読み込むときに実行されます。

この問題は、アプリに何か問題があると考えられます。その可能性が高い場合は、まったく起動しません。

2)メインアプリの代わりに、ユーザが以前のエラーをチェックするユーティリティを起動してから、メインアプリを起動するか、リカバリモードに入ります。

これは、最初のアイデアの問題を解決しますが、ターゲットマシンは非常にロックされており、展開の問題がある可能性があります。

リカバリモードを実装するための他の方法はありますか?

おかげ

+0

私はあなたがオプション2を使うべきだと思います。他の可能性はありません。 –

答えて

0

次のように我々はいくつかの似たような状況を解決:

  • は、「リカバリモードのユーティリティ」常にユーザー
  • 「リカバリモードユーティリティ」いずれかの回復が行うかどうかを確認する(によって開始されたものにしますそう
  • は全く回復のどちらかが必要でない場合)それをしないか、回復が完了した場合、正常にユーティリティが.NETで実際のアプリ

を起動するあなたも、1つのEに両方を置くことができますXE ...たとえばILMerge(無料ユーティリティ)を使用するか、または「組み込み可能なリソース」として、または商用ツールとして実際のアプリを埋め込むことによって、...

この方法では違いはありません。埋め込みEXEはメモリから開始することができます(ファイルシステムに展開する必要はありません)ので、回復が本当に必要になるまでは何の違いもありません。

IFの必要なヒントメモリから2番目のEXEを埋め込み、そして/または開始することができます - 私は今のところ手元にあるリンクは持っていませんが、それらを見ることができます。

0

事はアプリが失敗した場合、アプリはまだそれが失敗したと、なぜそれが失敗したことを記録することが可能であるということですか?

私は起動時にアプリケーション起動イベントを、終了時にアプリケーション終了イベントを記録します。起動時に閉鎖されたイベントが見つからなければ、アプリケーションは自動的に回復モードに入ります。

私は直接メインアプリケーションを起動するつもりですが、起動時にアプリがクラッシュしないように物事を初期化する方法を非常に慎重にしています。

関連する問題