Я пытаюсь выполнить настраиваемое действие, написанное на C # (.NET 3.5), которое зависит от одной библиотеки DLL (также C # 3.5). Я включил в установку и .EXE, и .DLL, и убедился, что они копируются в место установки. Однако каждый раз, когда я пытаюсь запустить настраиваемое действие, я получаю следующую ошибку:
Начало действия 7:21:16: InstallFinalize. Ошибка 1721. Проблема с этим пакетом установщика Windows. Программа, необходимая для завершения этой установки, не может быть запущена. Обратитесь в службу поддержки или к поставщику пакета. Действие: UpgradeTo022, расположение: C: \ Program Files \ Test \, команда: Upgrade-0.2.2.EXE MSI (s) (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>
Я видел некоторые упоминания о том, что запуск управляемых EXE-файлов является проблемой с Custom Actions и MSis, но нет никаких реальных окончательных ответов.
Я также пробовал просто запустить очень простой .EXE без зависимостей в качестве настраиваемого действия, и мне не повезло.
Поскольку я новичок в создании пакетов установщика, очень вероятно, что я либо пытаюсь сделать что-то, что не поддерживается, либо упускаю что-то простое.
Заранее благодарим за любые подсказки в выяснении этого.
JT.