0

Eclipse RCP アプリケーションを作成し、InnoSetup を使用してパッケージ化しました。パッケージ化されたアプリケーションをデフォルトのインストール先 (C:\Program Files\XXX) にインストールすると、INI ファイルの -data 引数が無視されます (インストール ディレクトリ: -data C:\Program Files\XXX に設定されます)。 . 代わりに、構成データはユーザーのアプリケーション データ フォルダーに保存されます。C:\XXX にインストールすると、-data 引数が宣伝どおりに機能し、構成データがインストール フォルダーに保存されます。

アプリケーションのパッケージ化されていないビルドを C:\Program Files の下のフォルダーにコピーすると、興味深いことに、パッケージ化されたインストールとは異なり、-data 引数も正しく認識されます。

InnoSetup スクリプト ファイルには、構成データのディレクトリを設定するための直接的な指示がないため、Eclipse RCP の問題だと思います。なお、ここで言う全フォルダへの書き込み権限は全ユーザーに完備。

Eclipse RCP に構成データを必要な場所に保存させるために、どこを見ればよいかを教えていただければ幸いです。

4

1 に答える 1

1

デフォルトでは、昇格されていないユーザーは、Program Files またはそのサブフォルダーにファイルを書き込むことは許可されていません。これを許可するようにフォルダーのアクセス許可を変更することは可能ですが、(a) ユーザーごとに設定を記録することは許可されないため、強くお勧めしません。 、および (b) 実行可能ファイルを含むフォルダへのグローバルな書き込みアクセスを許可することは、発生するのを待っているセキュリティ上の悪用です。データ ファイルのみを含むサブフォルダーに対して行う場合は、それほど重要ではありません。しかし、システム上のすべてのユーザー (またはネットワーク ユーザー) がメイン ユーザーのデータを参照および変更できるようになったため、プライバシーとデータ セキュリティの穴が依然として存在します。

Vista と Win7 は、必要なアクセス許可 (ほぼ例外なく "asInvoker" である必要があります) を含む Vista 互換性マニフェストでアプリケーションがマークされていない場合、読み取り専用の Program Files サブフォルダーへのアクセスを、ユーザーの AppData 領域の VirtualStore フォルダーに自動的にリダイレクトします。 .

于 2012-09-27T20:27:14.803 に答える