質問: ### 概要 * 環境: Windows10 & IIS * 言語: C# IISにデプロイしたWEBアプリからローカルにファイルを書き込みたいのですが、どのようにすべきか悩んでいます。 なにかノウハウがあればご教示いただけますでしょうか。 ### 詳細 IISにおけるWEBアプリの実行ユーザはアプリケーションプールといわれるものになる認識です。 具体的に今は以下のような状態になっています。 * Windowsのログインユーザは「tarou」 * 当該アプリのアプリケーションプールは「DefaultAppPool」 そこで、WEBアプリから ``` C:\\Users\\tarou\\AppData\\Local\\Temp ``` といったフォルダにファイル書き込みを含むアクセスをしたいのです。 1. 上記フォルダに「DefaultAppPool」ユーザのアクセス権を追加する。 2. 元から「tarou」と「DefaultAppPool」のアクセス権が存在する場所にファイルを書き込む 3. その他 「1」はインストールの手間なので、避けたいと思っています。 「2」は単純にどこなのかつきとめられていません。。 「3」で良い手があれば。。 WEBアプリがtarouとして実行できればそれでも良いのかもしれません。 しかし、インストーラはinstallshield limited editionで作成しておりますので、その範囲でデプロイできることがよいなぁと思っています。。わがままかもしれませんが。。
回答: 解決しました。 以下のURLを参考にアクセス権の追加をインストール手順に加えました。 具体的にはIISマネージャーで対象のWEBアプリの「認証」機能から「ASP.NET偽装」にユーザを設定しました。今回の例では「tarou」を追加したことになります。 インストーラはInstallshieldのままで、ユーザには上記手順を実施頂くこととしました。