Пользовательское действие 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:&quot;Default Web Site&quot;/[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:&quot;Default Web Site&quot; /[\[]path='/MyWeb'[\]].applicationPool:MyWeb"/>

Каждой квадратной скобке, которую вы хотите избежать, должен предшествовать обратный слеш и обертка в другую пару квадратных скобок.

Текст Application pool configured не является действительным условием.

Смотрите синтаксис условного оператора или несколько примеров здесь.

Другие вопросы по тегам