2012-05-31 4 views
5

私は最新のinnoセットアップを使用してプログラムを展開しようとしています。私のプログラムをProgram Filesフォルダにインストールすることはできないようです(例えば、私のプログラムは、データベースを変更するプログラムの部分を使って問題が発生します。管理者)。 CSIDL_APPDATAに私たちのプログラムをインストールするためにinno setupを尋ねるべきだと私はどこか読んだが、私はinno setupに精通していない。 Innoのセットアップを使用してこれを行うにはどうすればよいですか?すべてのユーザー用のアプリケーションとデータベースをインストールします

+3

おそらくあなたが読んだことを誤解していて、実際にはCSIDL_APPDATAにデータファイルを展開し、プログラムをプログラムファイルに展開することを示唆しているかもしれません。 –

答えて

9

アプリケーション自体は、{pf}(プログラムファイル)の下のフォルダにインストールする必要があります。 アプリケーションデータ(またはデータベース)は、{commonappdata}の下のフォルダに移動する必要があります。データベースを通常のユーザーが変更する場合は、このフォルダに(Permissionsパラメータを使用して)アクセス許可を設定する必要があります。ユーザー固有のものであれば、デフォルトをユーザーのappdataフォルダーにコピーして変更することができます。

[Dirs] 
Name: {commonappdata}\i-Catcher Console; permissions: everyone-modify admins-full; 

データベース自体にUIが組み込まれているAccessアプリケーションを使用すると、問題が発生します。この場合、両方の場所が互いに悪い({commonappdata}/blahの方がより良い)が、適切な権限を設定する必要があります。

+0

しかし、データベースとアプリケーションを別のフォルダに置くと、私のC#コードで文字列connString = "Data Source = recipes.db"を使用するため、問題が発生します。つまり、recipes.dbは、メインの実行可能ファイルと同じフォルダに存在する必要があります。とにかくさまざまな状況下では失敗します。 – imin

+0

アプリケーションデータフォルダーを決定し、完全修飾パスを使用するように修正する必要があります。 – Deanna

+1

emmm .. C#でどうすればいいですか?私はString connString = "Data Source =" + installedfolder + "recipes.db"のようなものを意味します。 – imin

関連する問題