Setup Error

Failed to load resources from resource file
Please check your Setup

このエラーが出る原因は2つある。
このエラーそのものは、.NET の実行環境において .NET Framework が利用しているリソースファイルが存在するにもかかわらず、そのリソースファイルに存在するはずのリソースを読み込めなかった場合に発生する。
その候補となる2つとは、

  • .NET Framework が壊れている場合
  • StackOverflow が発生した場合

基本的に、どちらの場合であってもこのエラーが発生するよりも先に Windows Installer に再セットアップや修復セットアップを要求されるか、System.StackOverflowException の例外が発生するのだが、何らかの要因でこのメッセージボックスが表示されることがあるようだ。
google:"Failed to load resources from resource file"
前者に関しては、ハードウェアに問題がないか確認を行ったり、.NET Framework の再インストールを行うことで解決でき、後者については根本的にプログラムコードの問題で、扱うデータ量とアルゴリズムの組み合わせに問題があるか、タイプミスや不注意によるものであることが予想される。
記憶が正しければ、Win32 では、スタック領域の最終ページが仮想メモリ上で COMMIT された時点でスタックオーバーフローが発生する。*1 この時点では最大1ページ分のスタック領域が、まだ未使用の状態で存在しているので、ユーザに状況を通知したりエラー処理を行ったりする余裕がある。これは .NET の System.StackOverflowException であっても同様なのだが、何らかの条件で例外が処理されるより先に前述のエラーダイアログが出ちゃうらしい。

*1:NT系では最後ページをガード属性でリザーブした時だったかも…