VS2013 と SQL Server Compact 4.0 SP1

[2015/09/29 追記]

 Windows10 + VS2015に対して

 

[2015/04/16 追記]

 最後に追記あり

 

Windows XPが、後1ヶ月のサポートになったので、環境を

  「Windows8.1 + IE11 + VS2013」

で、新しく構築。

 

早速、以前のプロジェクトを読み込んでみたが、いつものVSとは違い

アップグレートウィザードが走らずに普通に読み込めた。

 

自分は、SQL Server Compactが大のお気に入りで、

クライアントPCで完結するアプリで、DBが必要な場合には

SQL Server Compactで決まり。

 

 

以前のプロジェクトのDBテーブルの変更があったので、

VS2013を起動して、[ツール] - [データベースへの接続]を選択したが、

データソースに、SQL Server Compactがない・・・・・・。

 

 

こりゃ、別途インストールが必要なのかと思い、

MSのサイトから、SQL Server Compact 4.0 SP1をインストールした。

 

 

さて、DBに繋ごうと、[データベースへの接続]を選択したが

「じぇ、じぇ、じぇ・・・!」

 

相変わらず、データソースがない。

 

 

で、ぐぐってみると、

VS2013から、大好きなSQL Server Compactはサポートされないらしい。

MSDN Blog

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

 

ローカルでDB使いたければ、LocalDBを使えと、いうことらしい。

 

 

でも、ネット上では、LocalDBは重いとか、配布が大変だとかで

よい評判は聞かない。

(開発者がSQL Serverをターゲットの開発に使うのは良いらしい。)

 

 

MSに対して、引き続きVS2013でも、サポートするように嘆願しているらしい。

 

 

嘆いていても、はじまらないので、ぐぐってみました。

 

 

捨てる神あれば、拾う神ありで、CodePlexで公開されていました。


SQL Server Compact Toolbox
http://sqlcetoolbox.codeplex.com/documentation

 

これをインストールすると、今までのサーバーエクスプローラとは違うウィンドウが開くが、今までと同じように使える。

 

これで問題解決かと思いきや、

なんと、

 

なんと、

セットアップファイルを作成する段階で、

必須コンポーネントのところに、「必要なブートストラップが見つかりません。」と警告が出る。

 

構わず、セットアップファイルを作るとエラーにはならず作成される。

 

実行環境にインストールしてみると、案の定

ファイルまたはアセンブリ 'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

と、エラーになる。

 

実行環境にユーザ自身で、MSのサイトからインストールしてもらうしかないのか????

 

で、調べた結果

VS2012 のマシンの

Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages

にある

 

SQL Server Compact Edition 4.0

 

を、

 

VS2013のマシンの

\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages

 

にコピーしてみた。

 

 

とりあえず、これで必須コンポーネントの警告は消えた。

ライセンス的に問題があるのか、現在調査中・・・・・

 

だれか知りませんか~

 

 

 追記:

警告は消えたけど、manifestには含まない・・・・・・orz

 

 

[2015/04/16 追記]

上記の件が、

Visual Studio 2013 で SQL Server Compact がサポートされない問題に対応 | SHIN-ICHI の技術ブログ

にありましたので、本日追試。

 

もう一度、

BootStrapを
Windows8 VS2012 → Windows 8.1 VS2013

へコピー。

 

ClickOnce発行時に、[発行]-[必須コンポーネント]で

SQL Server Compact 4.0 SP1

がチェックできて、警告がないのを確認。

 

普通に、ClickOnceの発行。

 

Windows7のクリーンなマシンを用意して、インストールURLへアクセスして、インストールボタンをクリック。

 

無事に、SQL Server Comact 4.0 SP1がインストールされました。

 

又、ライセンス的にも問題がないようです。

 

[2015/09/29 追記]

環境をWindows10 + VS2015をクリーンインストール

 

VS2013と同じようにBootStrapをコピーしようとしましたが、Windows8.1とはで入れクトリ構成が違うようで、

 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages

 

に、コピーすると、警告が消えました。

 

[2017/10/05 追記]

VS2017では、Bootstrapsのパスが変わっています。

 

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages

 

にコピーすると警告が消えました。