2010-11-22 6 views
7

が、私はこの.NET Windowsサービスのローカルアプリケーションデータは、通常のコンソールアプリケーションで

Environment.SpecialFolder.LocalApplicationDataがCである必要があり、通常のアプリで、その後異なっていますサービス

Environment.SpecialFolder.LocalApplicationDataは、C:\ WINDOWS \ SYSTEM32 \ CONFIG \ systemprofile \のAppData \ローカル\

はどうすればアプリケーションの両方のタイプで同じパスを指定することができますか?

答えて

4

サービスは異なるユーザープロファイル(LOCAL_SERVICE、NETWORK_SERVICEなど)で実行されることを覚えておいてください。同じものにしたい場合は、ユーザープロファイルでサービスを実行します(このServiceProcessInstallerを指定できます)。インストーラーを作成するとき、またはウィンドウのサービスマネージャーで、「アカウント」プロパティー)。

+0

ありがとうございます。だから、最高の解決策は何ですか?私はWSとそのマネージャーを持っています。どちらも設定ファイルにアクセスする必要があります。私は代わりにCommonApplicationData特別なフォルダを使用する必要がありますか?または、私はServiceProcessInstaller.Accountプロパティを試す必要がありますか?私のアプリはたくさんの異なるPCやアカウントで動作します... – Simon

+0

これは、Windowsサービスまたはデスクトップアプリケーションとして実行できるアプリケーションですか? 'IsolatedStorage'は、アセンブリ名を使って情報を格納するので、他のアプリケーションもアクセスする必要があるかどうかによって異なります。 –

+0

アプリケーションには2つの部分があります。最初はWindowsサービスで、ユーザーがログに記録されていなくても長時間実行されます。 2番目の部分は「設定マネージャ」です。これは最初の部分を設定するのに使用されるデスクトップアプリケーションです - WS。どちらの部分も同じ設定xmlファイルにアクセスする必要があります。 – Simon

関連する問題