トップ回答者
ClickOnceによるアプリケーション配布時のDB接続設定方法

質問
-
現在、C#,SQL Serverを用いたシステム開発を計画しております。そこで、
アプリケーションの配布運用に不明点があり、下記について技術的な実現可能性を
教えてください。
Q1.作成したアプリケーションをClickOnceで配布した場合、DBへの接続
設定もアプリケーションと一緒に配布可能でしょうか?
SQL Clientを別途インストール・設定するなどの必要があるでしょうか?
Q2.DB接続設定が変更された場合、アプリケーションのアップデートと
してClickOnceで配布可能でしょうか?
Q3.配布したアプリケーションをアンインストールした場合、DBへの接続
設定も同時に削除されるでしょうか?
個別に削除操作が必要になるでしょうか?
■想定している環境
開発環境:Visual Studio 2013
開発言語:Visual C#
DBMS:SQL Server 2008
DBサーバOS :Windows Server 2012
クライアントOS:Windows7
※すべて英語版
■アプリケーションの構成
クライアント・サーバ方式(2層)
ClickOnceで配布したアプリケーションから、直接SQL Serverへ接続する。
以上
- 編集済み 星 睦美 2014年6月9日 2:12 社名等を削除させていただきました。
回答
-
>Q1.
プロジェクトのプロパティにある「アプリケーション」の「設定」に、接続文字列を保持し、配布します。つまり、アプリケーションの一部として配布されます。
SQL Clientは別途インストールする必要はありません。.NET Frameworkに含まれるADO.NETとして配布されます。具体的には、System.Data.SqlClient名前空間に属するクラスです。(追記)
「.NET Frameworkに含まれるADO.NETとして配布されます。」と書きましたが、アプリケーションが動作するために必要な.NET Frameworkさえあれば良いということです。クライアントに最初から入っていればそのままですが、入っていなければインターネット経由等でダウンロードしてインストールするようにダイアログが出ます。>Q2.
可能です。Q1.と同様に、「アプリケーション」の「設定」にある接続文字列を変更し、ClickOnceで配布します。
>Q3.
「アプリケーション」の「設定」にある接続文字列は、ClickOnceで発行すると、以下のフォルダにアプリケーション.exe.configというファイルが作成され、そこに保持されています。
C:\Users\%UserProfile%\appData\Local\Apps\2.0\英数字のフォルダ
実際に、ClickOnceのアプリケーションをアンインストールしてみましたが、アプリケーション.exe.configは削除されませんでした。
(参考)
ClickOnce とアプリケーション設定
http://msdn.microsoft.com/ja-jp/library/ms228995.aspx
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2014年6月9日 2:50 追記
- 回答としてマーク t_nishi 2014年6月9日 7:55
すべての返信
-
>Q1.
プロジェクトのプロパティにある「アプリケーション」の「設定」に、接続文字列を保持し、配布します。つまり、アプリケーションの一部として配布されます。
SQL Clientは別途インストールする必要はありません。.NET Frameworkに含まれるADO.NETとして配布されます。具体的には、System.Data.SqlClient名前空間に属するクラスです。(追記)
「.NET Frameworkに含まれるADO.NETとして配布されます。」と書きましたが、アプリケーションが動作するために必要な.NET Frameworkさえあれば良いということです。クライアントに最初から入っていればそのままですが、入っていなければインターネット経由等でダウンロードしてインストールするようにダイアログが出ます。>Q2.
可能です。Q1.と同様に、「アプリケーション」の「設定」にある接続文字列を変更し、ClickOnceで配布します。
>Q3.
「アプリケーション」の「設定」にある接続文字列は、ClickOnceで発行すると、以下のフォルダにアプリケーション.exe.configというファイルが作成され、そこに保持されています。
C:\Users\%UserProfile%\appData\Local\Apps\2.0\英数字のフォルダ
実際に、ClickOnceのアプリケーションをアンインストールしてみましたが、アプリケーション.exe.configは削除されませんでした。
(参考)
ClickOnce とアプリケーション設定
http://msdn.microsoft.com/ja-jp/library/ms228995.aspx
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2014年6月9日 2:50 追記
- 回答としてマーク t_nishi 2014年6月9日 7:55
-
佐祐理さんが指摘されたライセンスの件やWindows Server 2012にSQL Server 2008がインストール出来るかの方が問題な気がします。
とりあえず動作要件はSP3以降を当てればOKでしたね、参考まで。