人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQL Server Compact 3.5 データベースを含んだVB2008アプリケーションを作成しております。
clickonceを使用して配布を考えているのですが、一部問題が発生して解決できないでおります。
問題とは、初期インストール時は問題ないのですが、バージョンアップで自動的にプログラムをインストール
する場合、データベースが上書きされてしまうということです。
データが消えるというのは運用上非常にまずいです。

ということで、データベース構造に変更がなければ上書きしないというような設定はできないのでしょうか。

バージョンアップ時にSDFファイルを含めないということも試しました。
これは既にインストールしている場合は、問題ないのですが、
最新のバージョンで初期インストールすると、sdfが含まれない状態となりエラーとなってしまいます。

バージョンを指定した初期インストールが可能で、その後最新にバージョンアップことができないか
調べましたが結局わからずじまいです。

msdnにも特にこのことに関する記事を見つけることができませんでした。
http://msdn.microsoft.com/ja-jp/library/aa983326.aspx

なにかうまい方法をご存知の方ご回答をよろしくお願いします。

●質問者: kappapa
●カテゴリ:コンピュータ
✍キーワード:ClickOnce MSDN SQL Server VB2008 うまい
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tsukasa57
●50ポイント

興味があったのでちょっと調べてみたのですが

http://msdn.microsoft.com/ja-jp/library/aa983326.aspx

によると、「SQL Server Compact 3.5 データベースを含んだアプリケーションの ClickOnce 配置に Windows インストーラ テクノロジを使用するには」という節の中で、

[アプリケーション ファイル] をクリックし、.sdf ファイルを [データ ファイル (自動)] に設定します。

これは、.sdf ファイルをローカル データ ファイルとして扱い、データ ディレクトリに格納するようインストーラに伝えるための設定です。

とありますが、これは試されましたか?

私は ClickOnce を扱ったことありますが SQL Server Compact 3.5 は使用したこと無いし、試してもないのですが、参考になりましたら幸いです。

◎質問者からの返答

ご回答ありがとうございます。

[データ ファイル (自動)]を、選んで発行しています。

で、データディレクトリにアプリとは別に格納されるのは確認しています。

なんか思ったとおりの動きをしてくれません(泣)


2 ● tsukasa57
●50ポイント ベストアンサー

とても気になって調べてみたのですが、*.sdf ではなく、*.txt で実験したところ、

データディレクトリに格納されたファイルは、上書きされませんでした。

私の環境は Visual Studio 2005 + Windows 2000 SP4 ですが...


  1. ClickOnce でアプリケーション(とテキストファイル)を配布
  2. Data ディレクトリに格納された *.txt を直接編集してみた。
  3. アプリケーションを変更して(つまりバージョンアップして)ClickOnce で配布
  4. アプリケーションを実行。

アプリケーションを実行すると、アプリケーションは正常に更新された。

データファイルを確認すると、2) で直接編集した内容が維持されていた。

データファイルは、次のように 2 つのディレクトリに格納される(X,Y,Zの部分は省略)。

C:\Documents and Settings\administrator\Local Settings\Apps\2.0\Data\XXX\YYY\ZZZ01\Data

C:\Documents and Settings\administrator\Local Settings\Apps\2.0\Data\XXX\YYY\ZZZ02\Data

これは、ClickOnce の仕様でバージョンアップする前に戻すことが出来るようにするため。

2) でこのディレクトリに格納されたファイルを編集して、4) でバージョンアップすると

2) で編集したファイルがコピーされる。


...あれ、これって、期待されている動作なのでは...

設定状況のスクリーンショット

http://f.hatena.ne.jp/tsukasa57/20090123023447

http://f.hatena.ne.jp/tsukasa57/20090123023446


できれば「この質問・回答へのコメント」欄でコメントを受け付けるようにして欲しいです。

◎質問者からの返答

同じような感じで確認してみました。

※DBを直接編集ではなくアプリで追加変更しています。

バージョンアップしたときに、直前バージョンのDBファイルはコピーされませんでした。

Ver1.0.0.38での状態

http://f.hatena.ne.jp/kappapa/20090125051146

バージョンアップにて1.0.0.39に

http://f.hatena.ne.jp/kappapa/20090125051144

発行の設定状況

http://f.hatena.ne.jp/kappapa/20090125051145

発行したファイル群

http://f.hatena.ne.jp/kappapa/20090125051143

発行状況に違いがあるようなので、[データ ファイル (自動)]から[データ ファイル ]

へ変更して発行してみたところ、うまくコピーできました。(期待している動作)

ありがとうございました。

以前に、発行の状況を色々変更して試してみたつもりなんですが。

とりあえず、これでしばらく様子をみてみます。

あと、[データ ファイル (自動)]と[データ ファイル ]の違いは、なにか現在調査中です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ