「LocalService」アカウント タイプを持つ Windows サービスを作成しています。私はそれがしなければならないことを保存するファイルを持っています。
また、サービスが実行するアクションのインスタンスを追加/削除するためにそのファイルにアクセスするWindowsフォームGUIもあります。(関連性があるかどうかはわかりませんが、サービスはWebサービスからテーブルをダウンロードし、ユーザーがアクセスできるデータベースにそれらをエクスポートします。これらのダウンロードは定期的に行われるようにスケジュールされています)
サービスはユーザー アカウントにのみインストールされます。
ファイルをユーザー appdata フォルダーに保存することを計画していましたが、サービスのデバッグ中に「パス [パス] へのアクセスが拒否されました」というエラーが表示されました。
両方のプログラムからアクセスできるように、このファイルをどこに保存することをお勧めしますか? ありがとう
編集:もう少し見て、私はそれに気づきました
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
サービスとWindowsフォームアプリの別のパスを見つけます..そして、サービスがユーザーアプリデータにアクセスできないように見えるのと同じように、そのアプリはサービスアプリデータにアクセスできません。だから同じ質問が立っています!
別の編集:それで判明
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
ローカルサービスとユーザープログラムからアクセス可能 - doh
...しかし、いくつかの場所は読み取り専用のようです...