2016-02-03 2 views
1

У меня возникли проблемы с установкой нашего программного обеспечения на некоторых компьютерах при установке нашего .msi, встроенного в VS2015.MSI Install Failed - Ошибка 1723

Без VS2015, я получаю это в лог-файле:

MSI (ы) (24:64) [11: 21: 22: 095]: Выполнение действия: InstallFinalize
Действие 11:21 : 22: InstallFinalize.
Начало действия 11:21:22: InstallFinalize.
MSI (ы) (24:64) [11: 21: 22: 095]: значение пользовательской политики «DisableRollback» равно 0
MSI (s) (24:64) [11: 21: 22: 095]: Значение политики машины «DisableRollback» равно 0
Действие 11:21:22: RollbackCleanup. Удаление файлов резервных копий
MSI (24:64) [11: 21: 22: 585]: Создание MSIHANDLE (13) типа 790536 для резьбы 8036
MSI (s) (24:74) [11:21 : 22: 595]: вызов удаленных пользовательских действий. DLL: C: \ Windows \ Installer \ MSIAE3F.tmp, точка входа: _KSTInstallSC @ 4
MSI (ы) (24:74) [11: 21: 22: 595]: Генерация случайного файла cookie.
MSI (ы) (24:74) [11: 21: 22: 645]: Создан пользовательский сервер действий с PID 1160 (0x488).
MSI (s) (24: 5C) [11: 21: 22: 765]: Работа в качестве службы.
MSI (s) (24: 5C) [11: 21: 22: 775]: Здравствуйте, я являюсь вашим 32-разрядным Повышенным нередактированным пользовательским сервером действий.
CustomAction _3F7B94EF_231A_421E_BF8B_C0760F3B266E вернул действительный код ошибки 1157 (обратите внимание, что это не может быть на 100% точным, если перевод произошел внутри песочницы) MSI (s) (24:74) [11: 21: 22: 975]: Закрытие MSIHANDLE (13) of тип 790536 для резьбы 8036
MSI (24:64) [11: 21: 22: 975]: Примечание: 1: 1723 2: _3F7B94EF_231A_421E_BF8B_C0760F3B266E 3: _KSTInstallSC @ 4 4: C: \ Windows \ Installer \ MSIAE3F. tmp
MSI (s) (24:64) [11: 21: 22: 975]: Примечание: 1: 2262 2: Ошибка 3: -2147287038
MSI (c) (8C: 0C) [11:21: 22: 975]: Примечание: 1: 2262 2: Ошибка 3: -2147287038
DEBUG: ошибка 2835: элемент управления ErrorIcon не найден в диалоговом окне ErrorDialog У установщика есть встреча вызвала непредвиденную ошибку при установке этого пакета. Это может указывать на проблему с этим пакетом. Код ошибки 2835. Аргументы: ErrorIcon, ErrorDialog,
Ошибка 1723. Существует проблема с этим пакетом установщика Windows. Не удалось запустить DLL, необходимую для завершения этой установки. Обратитесь к вашему персоналу службы поддержки или поставщику пакета. Действие _3F7B94EF_231A_421E_BF8B_C0760F3B266E, запись: _KSTInstallSC @ 4, библиотека: C: \ Windows \ Installer \ MSIAE3F.tmp
MSI (s) (24:64) [11: 21: 25: 796]: Примечание: 1: 2262 2: Ошибка 3: -2147287038
MSI (24:64) [11: 21: 25: 796]: Продукт: KST - Ошибка 1723. Существует проблема с этим пакетом установщика Windows. Не удалось запустить DLL, необходимую для завершения этой установки. Обратитесь к вашему персоналу службы поддержки или поставщику пакета. Действие _3F7B94EF_231A_421E_BF8B_C0760F3B266E, запись: _KSTInstallSC @ 4, библиотека C: \ Windows \ Installer \ MSIAE3F.tmp

Я посмотрел в Visual Studio и нет никаких пользовательских действий, которые соответствуют либо в файле журнала.

Что-то примечание, после установки VS2015 на тестовом ПК установка работала нормально, поэтому определенно отсутствует DLL или что-то в этом роде. Но установка VS2015 на всех машинах наших клиентов нецелесообразна.

Есть ли способ упаковать файлы, необходимые вместе с msi? И если да, то как я могу найти имя зависимых DLL-файлов?

+0

Visual Studio сама по себе не создает файлы MSI; какое расширение или плагин вы используете? –

+0

Это: https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9 –

ответ

1

В зависимости от того, как вы построили этот пакет, возможно, лучший способ отслеживать это в проекте. Но давайте притворимся, что мы получили этот пакет и хотим заставить его работать, несмотря на то, что он неисправен.

Вы знаете, что точка входа [email protected], которая дает вам что-то искать в столбце Цель CustomAction table в встроенном MSI, используя вашу любимую программу редактирования MSI. Запись в этой таблице должна ссылаться на столбец Source на строку в двоичной таблице, которая содержит DLL. После того как вы извлечете эту DLL, вы можете использовать любой инструмент, который показывает ваши зависимости, такие как Dependency Walker, CFF Explorer или даже dumpbin /imports.

Как исправить это, на одной машине просто установите зависимость. Но чтобы исправить это в пакете, вам, вероятно, придется изменить способ создания DLL. Например, вы можете заставить его статически ставить C++, поэтому у него нет необычных внешних зависимостей времени выполнения.

0

Вы сделали что-то, связанное с продуктом KST, это приложение на C++, которое, по-видимому, работает как пользовательское действие, либо намеренно, либо через модуль слияния. Ошибка 1157 указывает на невозможность загрузки, поэтому она должна иметь зависимость от по меньшей мере одной другой Dll, которая не установлена.

0

Судя по GUID приложенном (3F7B94EF_231A_421E_BF8B_C0760F3B266E) на имя действия пользовательского Я бы сказал, у вас есть модуль слияния включены в ваш пакет/проект, который запускает этот настраиваемое действие, так же, как упомянуто Фил.