とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

データベースファイルも配布する場合。。。

ネタ元:SQLiteを使ったWindowsアプリを作成する

XCOPYはいけません。ちゃんとセットアッププロジェクトを作りましょう!<ここネタです。まじめに反応しないようにw

 

と、ここまではいいんですよ。。。問題は、データベースファイル。今回の場合 Inprocess で動くデータベースエンジンを使っています(SQLiteのManagedバージョン?)。

この場合、DBを使うアプリのアクセス権でデータベースファイルにアクセスします。ここで注意しなければいけないのが、「セットアッププロジェクト作って配布しましたー!という場合」。

ええ、何も考えずに、インストーラを作って、何も考えずにインストールしてみてください。

Vistaでいろいろいじってなければ、かなりの高確率でうれしくない現象が出ます。他のOSでも、管理者権限を持たないアカウントで実行すれば同様にうれしくない結果となるでしょう。

そう、アクセス権がないのです。

ではどうするか?

 

解決策は2種類あります。

ひとつは、利用ユーザーごとにデータベースファイルを独立管理する方法。通常この手段をとる場合は、アプリケーションの初回起動時に実行アカウントのアプリケーションデータフォルダ(ローカルアプリケーションデータフォルダでもよい)にコピーしてしまうという方法。

もう一つは、インストーラでインストール時にデータベースファイルにのみ標準ユーザーにも書き込み権限を追加するという方法。

どちらの手法をとるか?はそのアプリケーションやデータベースファイルがどのように使われるか?ユーザー間でのデータの共有はあるのか?などなどさまざまな部分が影響しあうため、正解はありません。

また、他にもデータファイルだけは、専用フォルダにインストールということもあります(その場合、VSセットアッププロジェクトじゃ絶対賄えませんけどねw)。

 

 

ま、いずれにしてもアプリケーションのユーザーが利用する状況を考えてアプリを作ってれば悩むべきタイミングは設計時点なのでセットアップを作成するころになって悩むようなことじゃないんですけどねwww

投稿日時 : 2008年10月16日 13:45

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント