0

私は、UACで何年も前に行ったように、アプリケーションがレジストリに構成を書き込むことから始めました。

これは良い考えではないことが判明したので、app.configファイルに移動して、UACでも問題があることがわかりました。

アプリケーションの構成はマシン固有です。個々のユーザーは独自の構成を持っておらず、サービスを含む残りのアプリはすべて単一の構成ファイルから削除されます。

プログラムfiles\myappフォルダーでこのファイルを更新しようとすると、拒否されます。

単一の構成ファイルが必要なこのようなシナリオで、他の誰もが何をしていますか?

また、この構成はアプリケーション内から更新する必要があることにも言及する必要があります。

4

4 に答える 4

2

Common Application Dataフォルダーを使用します。これは、ほとんどの新しいアプリケーションがUACで機能するデータを格納する場所です。

これは、次のコードで取得できます。

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

特別なフォルダのすべてのオプションを表示するには、次のリンクを確認してください。

http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

最も一般的なオプションは次のとおりです。

アプリケーションデータ-現在のローミングユーザーのアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ。

共通アプリケーションデータ-すべてのユーザーが使用するアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ。

ローカルアプリケーションデータ-現在の非ローミングユーザーが使用するアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ。

于 2012-08-24T15:33:50.203 に答える
0

app.configを使用する必要がある場合は、ユーザーの設定を保存する必要がありますuser.config詳細については、こちらをご覧ください。

于 2012-08-24T15:34:19.617 に答える
0

マシン全体の構成ファイルは、次の場所に保存する必要があります。

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

プログラムファイル内のファイルは、アプリケーションがインストール/更新されている場合を除いて、変更しないでください。

于 2012-08-24T15:34:34.890 に答える
0

WPFアプリケーションでも同様のニーズがありました。私がしていることは次のとおりです。

  1. ボイラープレート構成ファイルを使用してアプリケーションをインストールします。
  2. アプリが実行されると、ユーザーのApp Datadirectory内の構成ファイルで構成ファイルがないかどうかがチェックされます。構成ファイルが存在しない場合は、インストールディレクトリからデフォルトの定型構成ファイルがコピーされます。
  3. 次に、必要な最初の実行の初期化作業を行います。

.NET ConfigurationManagerを使い始めましたが、単純で要件が基本的だったため、単純な古いXMLファイルに切り替えました。

于 2012-08-24T15:34:41.793 に答える