Пользовательское действие wix Настройка пулов приложений
Я пытаюсь изменить пул приложений для моего веб-приложения с помощью пользовательских действий
<InstallExecuteSequence>
<Custom Action="ConfigureAppPools" Before="InstallFinalize">Application pool configured</Custom>
</InstallExecuteSequence>
<!-- Snip -->
<CustomAction Id="ConfigureAppPools" Execute="deferred" Impersonate="no" Return="check" Directory="TARGETDIR" ExeCommand="[SystemFolder]inetsrv\appcmd set site /site.name:"Default Web Site"/[path='/MyWeb'].applicationPool:MyWeb"/>
но получите следующую ошибку LGHT0204: ICE03: неверная строка формата; Таблица: CustomAction, Столбец: Цель, Ключ (и): ConfigureAppPools
Как исправить?
2 ответа
Вы должны избегать квадратных скобок в вашем атрибуте ExeCommand (те, что вокруг path=...
), потому что иначе MSI считает, что это свойство, которое оно должно отформатировать. Попробуй это:
<CustomAction Id="ConfigureAppPools" Execute="deferred" Impersonate="no" Return="check" Directory="TARGETDIR" ExeCommand="[SystemFolder]inetsrv\appcmd set site /site.name:"Default Web Site" /[\[]path='/MyWeb'[\]].applicationPool:MyWeb"/>
Каждой квадратной скобке, которую вы хотите избежать, должен предшествовать обратный слеш и обертка в другую пару квадратных скобок.
Текст Application pool configured
не является действительным условием.
Смотрите синтаксис условного оператора или несколько примеров здесь.