0

我有一個Windows應用程序,如果它失敗了,我想默認爲「恢復模式」,第一次失敗後運行。實現恢復模式的策略

我很好的標記錯誤和用戶可以做的不同事情來恢復,這是實際啓動的恢復模式實用程序,讓我頭痛。我有幾個想法,但我希望別人可能會遇到更好的方法。

1)當主應用程序加載第一件事時,如果檢查以前的錯誤,然後啓動恢復模式實用程序。

問題是,如果應用程序有任何問題,很有可能,那麼它根本不會啓動。

2)而不是主應用程序有用戶啓動一個實用程序,將檢查以前的錯誤,然後啓動主應用程序或進入恢復模式。

這解決了第一個想法的問題,但是目標機器非常鎖定並且可能存在部署問題。

是否有任何其他策略實施恢復模式?

感謝

+0

我想你應該選擇2.我沒有看到任何其他的可能性。 –

回答

0

我們解決了一些類似的情況如下:

  • 使「恢復模式工具」,即總是由用戶
  • 的「恢復模式效用」開始一個檢查任何復甦是否做(如果這樣做的話)時,要麼沒有恢復需要
  • 或恢復成功完成該實用程序啓動真正的應用程序

在.NET,你甚至可以把兩成一個E XE ...例如使用ILMerge(免費工具)或通過嵌入真正的應用程序作爲「嵌入式資源」或通過一些商業工具...

這種方式爲用戶沒有區別...和嵌入式EXE可以從內存啓動(不需要將其提取到文件系統),因此對於用戶來說,直到真正需要恢復時纔會產生任何區別...

如果需要提供關於如何嵌入和/或從內存中啓動第二個EXE讓我知道 - 我現在沒有鏈接,但可以查看它們。

0

的事情是,如果應用程序失敗,是應用程序仍然能夠記錄,它失敗了,爲什麼會失敗呢?

因此,我會在啓動時記錄應用程序啓動事件並關閉應用程序關閉事件。然後,如果應用程序在啓動時未找到關閉的事件,它可以自動進入恢復模式。

我會直接啓動主應用程序,但要非常小心如何初始化事件,以便應用程序在啓動時不會崩潰。