У меня есть проект, встроенный в InstallShield 12. Это веб-приложение, которое необходимо установить несколько раз, и эти установки должны быть исправлены.
Я могу создавать преобразования и исправления как в WiX, так и в InstallShield.
Когда я пытаюсь пропатчить преобразованную установку из InstallShield, я получаю сообщение об ошибке:
"The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch."
В InstallShield я попытался добавить новый код продукта из преобразований в «Список кодов целевого продукта» на вкладке «Дизайн патчей». Это приведет к ошибке при создании патча с ошибкой:
"ERROR: At least one of the GUIDs '{ORIGINAL-GUID},{TRANSFORM-GUID}' defined in the ListOfTargetProductCodes property in the Properties table of the .pcp file is invalid."
В WiX (3.5) я преобразовал свой проект из InstallShield в WiX, используя dark.exe. Я получил достаточно далеко, чтобы я мог установить патч для преобразования, но я получаю предупреждение:
"Patch.wxs(11) : warning PYRO1079 : The cabinet 'Data1.cab' does not contain any files."
Это проблема, потому что я пытаюсь запустить SQL-скрипт в патче, но патч не вставляет мой sql-файл в кабину.
Я также попробовал метод .pcp (до WiX 3.0) через WiX, и получил только то, что получил в InstallShield.
До сих пор я в основном ссылался на эту страницу для моих ответов: http://ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html
TL; DR: как сгенерировать исправление для установки нескольких экземпляров с использованием (предпочтительно) InstallShield или в WiX?