SQL Server Compact は .net Framework のインストールで壊れる?!

もうひとつ SQL Server Compact で不思議な現象。私の個人のフリーソフトでも、会社のアプリでも、SQL Server Compact をDBとして使用している物が有り、時々動かないと言われてずっと謎だったのですが、ようやく謎がひとつ解けました。

SQL Server Compact のインストールの後に、 .NET Framework をインストールすると、SQL Server Comapct が動かなくなる。

正しいインストール順は .NET Framework の後に SQL Server Comapct です。

これを逆にしてしまうと、SQL Server Compact のDBへの接続が失敗するようになります。もしこの現象が起きたら、プログラムの追加と削除で、「SQL Server Comapct」を選んで「修復」すると動くように戻ります。

一番注意しなければならないのは、OS や .NET Framework のバージョンアップ。

  • Windows 7 から Windows 8 にアップグレードすると(.net Framework 4.5 が入るので)SQL Server Compact 3.5 が壊れる
  • Windows 8 から Windows 8.1 Preview にアップグレードすると(.net Framework 4.5.1 が入るので) SQL Server Compact 4 が壊れる(かも?)

オフィシャルな情報があるわけではなく検証した結果、こうだった、ということなのですが、「アップグレードしても大丈夫か?」と聞かれたら「修復が必要です」と答える必要がありそうです。