Это круто, исправил много. Большое спасибо @Ян Скляренко!

овляю один из наших установщиков для .NET 4.0 и IIS 7.5, и одна из задач состоит в том, чтобы переключить AppPool, чтобы использовать его собственную идентификацию. Я нашел это довольно тривиальным в WiX с использованием IIS Extension, но я борюсь с двумя дополнительными наборами разрешений, которые мы определяем, в частности, для предоставления разрешений на запись для идентификатора AppPool:

<Directory Id="LOGS_LOCATION" Name="logs">
    <!-- SourceDir\logs -->
    <Component Id="LogsFolder" Guid="{3A7C38C7-6604-4063-A425-D62427B21AEE}" KeyPath="yes" DiskId="1">
        <CreateFolder>
            <!-- SYSTEM account is automatically given access, but set other ACEs here to avoid Users having access -->
            <Permission User="Administrators" GenericAll="yes"/>
            <Permission User="[ASPNET_USER]" Domain="[ASPNET_DOMAIN]" GenericRead="yes" GenericWrite="yes" Read="yes" Delete="yes" DeleteChild="yes" Traverse="yes"/>
            <!-- IIS5: ASPNET, IIS6: NetworkService, IIS7: AppPool identity -->
        </CreateFolder>
    </Component>
</Directory>

ASPNET_USER а такжеASPNET_DOMAIN определены какAppPoolName а такжеIIS APPPOOL соответственно (гдеAppPoolName точно соответствует названию пула приложений).

Когда я запускаю установщик, я получаю сообщение об ошибке 1609 о том, чтоIIS APPOOL\AppPoolName не является действительным идентификатором, и установка завершается неудачно. Как указать идентификатор пула приложений для элемента Permission, чтобы веб-приложение могло выполнять запись в каталог журналов? Нужно ли использовать другую личность?

Ответы на вопрос(1)

Ваш ответ на вопрос