InstallShield 2012 Professional を使用して ASP.NET Web サイトをインストールし、ネットワーク サービス アカウントのセキュリティ コンテキストで実行されるカスタム アプリケーション プールをインストールします。Web サイトをテストすると、アクセス許可の問題 (ファイルのアクセス許可) が発生し、Web サイトが失敗して "エラー: アクセスが拒否されました" というメッセージが表示されます。
InstallShield を使用して、ユーザー「Authenticated Users」への読み取りアクセス権を各ファイルに設定しました。[アプリケーション データ] -> [ファイルとフォルダー] に移動して、InstallShield ISM ファイル内のアクセス許可を設定します。
- 「宛先コンピューターのフォルダー」で各フォルダーを選択します
- 「宛先コンピューターのフォルダー」内の各フォルダーを右クリックします。
- コンテキストメニューの「プロパティ」を選択
- 「権限」ボタンをクリック
- ユーザー「Authenticated Users」の「Name(s):」セクションにエントリを追加し、ドメインは空白にします (「Read & Execute」、「List Folder Contents」、「Read」を選択します)。
...次に、このアクションをフォルダーごとに、次にファイルごとに何度も実行します。
テストすると、問題があることがわかります。サーバーにインストールされている実際のファイルに移動して確認すると、正しく表示されますが、正しく機能しません。実際、認証されたユーザーとして、私はフォルダー構造をナビゲートする権限を持っていませんが、私は管理者であるため、権限を微調整して入ることができます。これらの各ファイル(および関連フォルダー)でこれらの権限を手動でリセットすると、ウェブサイトが正しく機能します。これは、アプリ プールのセットアップ、ファイル コピー、およびネットワーク サービス アカウントがすべて正しく機能していることを意味し、問題は IIS がアクセスしようとしているファイルのアクセス許可に厳密に関連しています。
誰かがこの問題を抱えていて、それを克服しましたか? もしそうなら、どのように?(InstallScript を使用して権限を設定することは避けたいと思います。)