Я пытаюсь создать пакет MSI, который использует приложение AppCmd для настройки IIS7. Нужно только выполнить некоторые команды, которые вызывают AppCmd. Некоторые команды должны вызываться при установке, другие команды должны вызываться при удалении.
Вот что у меня сейчас:
У меня есть свойство, которое указывает на AppCmd:
<Property Id="APPCMD" Value="C:\Windows\system32\inetsrv\appcmd.exe" />
У меня есть пользовательские действия:
<CustomAction Id="UnlockHandlerSection" Return="check" Property="APPCMD" ExeCommand="unlock config /section:system.webServer/handlers" />
У меня есть пользовательские элементы, которые вызывают действия:
<InstallExecuteSequence>
<Custom Action="UnlockHandlerSection" After="InstallFiles">NOT Installed AND NOT PATCH</Custom>
<InstallExecuteSequence>
Проблема в том, что команды не вызываются, когда я пытаюсь установить получившийся пакет MSI. Если я регистрирую установку, сам журнал не содержит много информации. Я не хочу публиковать все это, но это заканчивается следующим:
MSI (c) (50:34) [12:35:47:703]: Product: Server Configuration 1.0.0 -- Installation failed.
MSI (c) (50:34) [12:35:47:703]: Windows Installer installed the product. Product Name: Server Configuration 1.0.0. Product Version: 1.0.0. Product Language: 1033. Installation success or error status: 1603.
Кроме того, непосредственно перед тем, как инициализируется мое свойство APPCMD, это то, что печатается (правильные возвращаемые значения здесь):
Action ended 12:35:47: ExecuteAction. Return value 3.
Action ended 12:35:47: INSTALL. Return value 3.
Property(C): APPCMD = C:\Windows\system32\inetsrv\appcmd.exe
Может ли кто-нибудь сообщить мне, что я делаю неправильно? Спасибо!