2011-07-15 5 views
0

私は一度クリックするだけで、データベースを処理するための最良の方法が分かりました。アプリケーションが最初に実行されるときにそれを見て、sqlserverデータベースを作成します。マシンにインストールされているsqlserverを発見する

私はこのアプリケーションを配布するためにWindowsのインストールを使用しません。なぜなら、複数のバージョンのアップデートがあり、clickonceで簡単になるからです。

答えて

0

使用しているSQLServerの風味は?役に立つ情報があります。

SQLServer Expressの場合、データベースをプロジェクトに追加し、ビルドアクションを 'content'に設定し、 '出力ディレクトリにコピー'を 'より新しい場合はコピー'に設定する必要があります。これにより、データベースがデプロイメントに確実に組み込まれます。

次に、前提条件ダイアログに進み、SQLServer Expressを選択します。ユーザーがsetup.exeを実行すると、そのファイルがインストールされているかどうかが確認され、見つからない場合はインストールされます。

最新のSQLServer Expressが必要な場合は、ブートストラップパッケージhereの作成方法を見つけることができます。Microsoftでは提供していませんが、必要なXMLを提供し、SQLServer Expressダウンロードへのリンクを提供します。

SQLCEを使用している場合は、データベース(* .sdf)をプロジェクトに添付し、前述のようにプロパティを設定する必要があります。ただし、これを前提条件として公開する必要はありません。hereのようにプロジェクトにdllを含めることができます。

新しいバージョンを公開すると、データベースが変更された場合、ClickOnceは新しいデータベースをDataDirectoryに置き、古いものをDataDirectoryの\ preサブフォルダに置きます。これを処理するコードを記述する必要があります。これは魅力的ですが、私は危険だと思います。データベースを開いて構造を見るだけでも、日付/時刻スタンプが変更され、ClickOnceは新しいものだと思ってパブリッシュします。この。

通常、ユーザーがアプリケーションを最初にインストールしたときにデータベースをLocalApplicationDataにコピーし、それ以降は構造的に更新を処理することをお勧めします。それを行う方法に関する記事がありますhere

関連する問題