0

Недавно была выпущена новая версия нашего продукта (программного пакета). Чтобы расширить функциональность, мы разработали плагин впоследствии. Теперь мы хотели бы развернуть эти файлы (два новых файла и обновленную версию существующего файла) в качестве исправления (или обновления) с помощью патча MSI (msp). Я загрузил пустой файл PCP с веб-сайта MSDN и внес некоторые изменения в него. Изменения включают в себя следующие таблицы:Проблемы с созданием патча MSI

ImageFamilies

PatchMetadata

PatchSequence

Свойства

TargetImages

UpgradedImages

Все остальные таблицы повторно основной пробел.

Затем мне удалось создать файл msp с этим файлом PCP на основе двух версий образа администрирования программного пакета, оба из которых были созданы из проекта установки Visual Studio (VS 2010). Разница между этими двумя пакетами msi заключается в том, что я заменил файл и добавил два новых файла, но ничего больше. Я не изменил код продукта (GUID), код обновления (GUID) или номер версии.

Затем я пытался установить этот msp-файл поверх выпущенной версии.

  1. Первый экран, предлагающий отремонтировать или удалить продукт. Это не то, что мы хотим. Мы хотим, чтобы установщик был как новая установка, включая показ лицензионного соглашения. Как определить пользовательский интерфейс для MSI-патча?

  2. Во время установки патча, я получил сообщение об ошибке, как показано ниже, то установка не удалась:

    Error 1001. Exception occurred while initializing the installation: System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\WINDOWS\system32\Files\BPS\TestApp' or one of its dependencies. This system cannot find the file specified.

    BPS папка, в которой мы устанавливаем наш продукт в [ProgramFilesFolder]. Я задавался вопросом, почему MSI пыталась выполнить поиск в «C: \ Windows \ system32» для файлов, установленных в [ProgramFilesFolder]. Кроме того, измененные файлы в исправлении находятся в другом месте ([CommonAppDataFolder]), а не в этой папке «BPS».

Может ли кто-нибудь помочь мне с этими проблемами? Если вам нужна дополнительная информация для выявления проблем, сообщите мне. Любые мысли, советы, предложения были бы очень оценены.

Dan

ответ

0

Первый экран появляется просит отремонтировать или удалить продукт. Это не то, что мы хотим.

В пакете обновления увеличьте версию продукта. Таким образом, вместо небольшого обновления вы будете использовать minor upgrade.

Вы также можете попробовать с помощью командной строки MSIEXEC применить патч:

http://msdn.microsoft.com/en-us/library/aa367574(VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa367575(VS.85).aspx

Во время установки патча я получил сообщение об ошибке, как показано ниже, затем Не удалось установить установку

Есть ли что-то в вашем установщике, использующем этот файл? Возможно, это обычное действие? Попробуйте найти в журнале, чтобы узнать, какое действие пытается получить доступ к этому файлу.

+0

Мы действительно хотим использовать небольшое обновление в отличие от незначительного обновления, потому что ничего не изменилось с точки зрения всего приложения, но добавлено несколько новых файлов, которые вообще не являются частью основного приложения. я пытался применить патч с помощью командной строки MSIexec, как показано ниже: 'Msiexec/р patch.msp REINSTALL = DefaultFeature REINSTALLMODE = omus' я все еще попросили«Ремонт»или«Удалить»продукт. У нас было какое-то пользовательское действие, живущее в основном исполняемом файле, которое находится в «[ProgramFilesFolder] \ BPS \ TestApp». (Продолжение следующего комментария) ... – Dan

+0

Я понятия не имел, почему MSI пытается найти файл из этой папки. Ниже приведена связанная информация журнала, которая является частью всего файла: 'MSI (CC! 84) [06: 54: 28: 815]: ǜǜ 朁 㿟 ǜǜǜ DEBUG: Ошибка 2769: Пользовательское действие _033C6FDE_163D_4E6F_AC4A_4B229C2D9DF2.install не закрыло 1 MSIHANDLE. Установщик столкнулся с непредвиденной ошибкой при установке этого пакета. Это может указывать на проблему с этим пакетом. Код ошибки - 2769. Аргументы: _033C6FDE_163D_4E6F_AC4A_4B229C2D9DF2.install, 1, ' ПРИМЕЧАНИЕ: Я не знаю, что представляют собой эти странные символы. – Dan

+0

Большое спасибо за ваш ответ, Cosmin Pirvu. Я должен был поставить эту строку в начало моего первого комментария. Но мне не разрешили изменить его. – Dan

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