2

У нас есть пакет установщика, созданный с помощью InstallShield 2009, ориентированный на Windows Installer 3.1.Пакет установщика, ориентированный на установщик Windows 3.1, не работает, когда установлен установщик Windows 4.5

В последнее время мы начали замечать, что когда-то при установке на некоторых компьютерах с ОС Windows 2003 R2 на базе x86 установка завершается с ошибкой, а в журнале установщика сообщается код ошибки 1603 (который, кстати, не очень помогает, как it means ERROR_INSTALL_FAILURE, что является очень общим «Во время установки произошла фатальная ошибка.»).

Поскольку установка по-прежнему работает на некоторых других хостах на той же платформе, после дальнейших исследований мы выяснили, что это происходило на хостах, где Sql Server 2008 R2 уже был установлен, что привело нас к выяснению проблемы на самом деле с установщиком Windows 4.5.

Когда установщик Windows 4.5 был установлен пакетом установщика, наш пакет установщика терпит неудачу с 1603. До сих пор мы обнаружили, что работаем: если мы вручную удалим установщик Windows 4.5 (работает что-то вроде «C: \ WINDOWS \ $ NtUninstallKB942288-v4 $ \ Spuninst \ spuninst.exe «), мы можем запустить наш установочный пакет успешно, но это имеет различные недостатки:

  1. пользователя, деинсталлировать Windows Installer 4.5 предлагается с диалоговым список все различные программные продукты, установленные с этим, и эффективно связь между этими продуктами и установщиком Windows 4.5 теряется после удаления, даже если мы его переустановим после успешной установки нашего приложения;
  2. как Microsoft выпустила различную версию установщика Windows 4.5, расположение утилиты для удаления, которая не является строго той, которая приведена выше;
  3. Неловко просить клиентов выполнять такую ​​работу.

Я предполагаю, что обновление пакета установщика для целевой установки Windows Installer 5 может решить проблему, но если это возможно, я бы хотел ее избежать и продолжаю использовать InstallShield 2009 для создания этого конкретного пакета.

Я просмотрел базы знаний Microsoft и Flexera Knowledge Base (и продолжаю исследование), без каких-либо успехов.

Кто-нибудь знает, опубликовали ли Microsoft или Flexera или любую другую третью сторону исправление или дополнительную информацию об этой проблеме?

Некоторая информация о неудаче кода 1603 ошибки

Мы получили подробные журналы для этой проблемы, по крайней мере, от 3-х разных серверов, и мы исследовали, что в глубину, чтобы не пользоваться до сих пор. Большинство действий возвращают 1, некоторые 0 (в частности, IsolateComponents, MigrateFeatureStates, IsolateComponents, SetODBCFolders, MigrateFeatureStates, UnpublishComponents, UnregisterComPlus, UnregisterTypeLibraries, UnregisterMIMEInfo, RemoveShortcuts, RemoveFiles, CreateShortcuts, RegisterMIMEInfo, InstallODBC, RegisterTypeLibraries, RegisterComPlus и PublishComponents, но еще ничего не пришло), пакет установщика, по-видимому, практически можно установить (выполнить всю последовательность до «INSTALL. Возвращаемое значение 1.», оно даже печатает «Продукт: [Наш продукт] - завершена операция установки успешно. "), только после этого он начинает откатывать все, и, поскольку при откате возникают различные ошибки, я думаю, что некоторые из них вызовут 1603 (вероятно, около 1607, возвращенных MsiProvideAssembly на ISChainPackagesCleanup), но дело в том, что он должен" t rollback, а также с установщиком Windows 3.1 (или 5.x, если на то пошло), он откатывается только тогда, когда установлен Windows Installer 4.5, установленный в среде Windows x86.

+0

Я также открыл нить на форуме Flexera для InstallShield 2009: http://community.flexerasoftware.com/showthread.php?p=479012 – aledeniz

+0

Я также открыл тему на форуме InstallSite: http: // forum. installsite.net/index.php?showtopic=21075 – aledeniz

+0

Чтобы быть более точным, мы обнаружили, что наш пакет установщика работает на Microsoft Windows Server 2003 R2 x86 с установщиком Windows 3.1.4000.3959 (он, вероятно, работает также с 3.1.4000.2435 и 3.1.4000.1830 , но я не тестировал их недавно), но он не работает там, если установлен Windows Installer 4.5.6001.22159 (т. е. из установщика Sql Server 2008 R2 или других пакетов, ориентированных на 4.5). – aledeniz

ответ

2

Скорее всего, ваш пакет имеет действие, которое не выполняется, как пользовательское, так и стандартное. Попробуйте создать verbose log установки, которая не выполняется (очень важно быть подробным). После сбоя откройте журнал с помощью текстового редактора и найдите код ошибки (1603), чтобы узнать, запускает его.

В качестве побочного примечания не пытайтесь обвинять установщик Windows. В версии 4.5 нет ничего плохого, и нет никаких исправлений или чего-то подобного. Проблема в вашем пакете. Он делает что-то неправильное или неподдерживаемое.

EDIT:

С вашего поста обновления он выглядит неудачной прикован установки. Ошибки не отображаются в журнале, поскольку ошибка возникает в другом процессе установки.

Если вы не используете прикованные пакеты, попробуйте найти ошибки в средстве просмотра событий.

Если вы используете прикованные пакеты, вы можете попробовать включить Windows Installer logging policy и проверить созданные ими журналы. Скорее всего, один из пакетов сталкивается с проблемой.

+0

Verbose log Привет, Cosmin, спасибо за ваш ответ, да, мы получаем подробный журнал, и мы исследовали его в глубину, чтобы не воспользоваться до сих пор. Я добавлю более подробную информацию по этому вопросу. Я не уверен, что я обвиняю WI, но могу подтвердить, что он работает с WI 3.1 или WI 5, он не работает с WI 4.5, тот же пакет, мы протестировали его на десятках серверов, что-то должно быть другим. После того, как мы вручную удалим 4.5, мы можем установить с помощью 3.1! – aledeniz

+0

Chained package Привет, Cosmin, я прочитал ваше редактирование, пока на другом мониторе я действительно смотрел представление Releaseases на InstallShield, взглянув на одноцепочный пакет .msi этого пакета и задаваясь вопросом, может ли это быть связано (я добрался туда, задаваясь вопросом, почему проблема еще не сообщалась с 64-разрядной версией того же установщика, который не использует прикованные пакеты).Я собираюсь попробовать другую установку с включенным протоколированием, чтобы узнать, не улавливает ли она что-либо в цепочке (что, кстати, это среда выполнения Crystal Reports). – aledeniz

Смежные вопросы