Я пытаюсь выполнить пользовательское действие, которое было написано C# (.NET 3.5), которое имеет зависимость от одной DLL (также C# 3.5). Я включил в установку как .EXE, так и .DLL и проверил, что они копируются в место установки. Однако каждый раз, когда я пытаюсь выполнить пользовательское действие, я получаю следующую ошибку:Возможно ли выполнить пользовательское действие в WiX, которое является управляемым .EXE-файлом?
Начало действия 7:21:16: InstallFinalize. Ошибка 1721. Существует проблема с этим пакетом установщика Windows. Не удалось запустить программу, необходимую для завершения этой установки. Обратитесь к вашему персоналу службы поддержки или поставщику пакета. Действие: UpgradeTo022, местоположение: C: \ Program Files \ Test \, команда: Upgrade-0.2.2.EXE MSI (ы) (CC: 38) [07: 21: 19: 061]: Продукт: тест - ошибка 1721. Существует проблема с этим пакетом установщика Windows. Не удалось запустить программу, необходимую для завершения этой установки. Обратитесь к вашему персоналу службы поддержки или поставщику пакета. Действие: UpgradeTo022, местоположение: C: \ Program Files \ Test \, команда: Upgrade-0.2.2.EXE
настраиваемое действие определяется следующим образом:
<CustomAction Id="UpgradeTo022"
Directory="INSTALLLOCATION"
Impersonate="no"
Execute="deferred"
ExeCommand='Upgrade-0.2.2.EXE'>
Примечание: пользовательское действие должно быть выполняются с повышенными привилегиями, таким образом, отложенное исполнение и Impersonate = "no".
Запланировано следующим образом:
<InstallExecuteSequence>
<Custom Action="UpgradeTo022" Before="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
Файлы устанавливаются следующим образом:
<Component Id="CMP_UpgradeCommon" Guid="8ECF5076-732E-4010-A33B-BE362D818949" Win64="yes">
<File Id="FILE_UpgradeCommonDLL"
Source="..\Upgrade\UpgradeCommon\bin\Debug\UpgradeCommon.dll" Vital="yes"/>
</Component>
Я видел некоторые намеки на работающих управляемых EXEs как быть проблема с пользовательскими действиями и MSis, но нет реальных окончательных ответов.
Я также попробовал просто запустить очень простой .EXE без каких-либо зависимостей в качестве пользовательского действия, и им не повезло.
Будучи несколько новым в создании пакетов установщика, очень вероятно, что я либо пытаюсь сделать что-то, что не поддерживается, либо пропустить что-то простое.
Заранее благодарим за любые указатели при этом.
JT.