2012-02-27 1 views
4

            У меня есть проект, построенный в InstallShield 12. Это веб-приложение, которое должно быть установлено несколько раз, и эти установки должны быть заделаны.Заделка Multiple Instance Устанавливает либо с InstallShield или WiX

Я могу создавать преобразования и исправления как отлично, так и в 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 (pre WiX 3.0) через WiX и только добираюсь до InstallShield.

Я в основном ссылки на эту страницу для моих ответов до сих пор: http://ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html

TL; DR: Как создать патч для множественного экземпляра устанавливается с использованием (предпочтительно) InstallShield или в WiX?

+0

Очень трудно догадаться, что не так с вашим патчем, не видя кода. Если вы делитесь фрагментом, это может быть проще. Было бы здорово, если бы вы могли сузить проблему до небольшого образца вместо части реального решения. –

ответ

5

Я решил свою проблему, полностью отказавшись от InstallShield. Вместо того, чтобы преобразовывать окончательный MSI InstallShield в WiX, я снова создал свой проект в чистом WiX. Это позволило мне установить несколько экземпляров и исправить их.

Жаль, что я не мог понять, как заставить его работать через InstallShield.

+0

Можете ли вы опубликовать решение WiX? По крайней мере, самые важные части? Они могут быть интересны и для других пользователей здесь ... Спасибо заранее! – Mayoares

+0

Я ссылался на следующую страницу, когда я снова создал свой проект в WiX. Я думаю, что это будет более полезно для вас, а не для публикации моего конкретного проекта. http://www.codeproject.com/Articles/115036/Creating-WIX-Installer-for-ASP-NET-Web-Application – kaspur

+0

Люди, которые сталкиваются с MSI, могут обнаружить, что декомпиляция существующего MSI с использованием dark.exe для генерации WIX XML исходный файл, который затем может быть очищен, может значительно облегчить переход. Однако для этого требуется базовое знание Wix. –