Недавно была выпущена новая версия нашего продукта (программного пакета). Чтобы расширить функциональность, мы разработали плагин впоследствии. Теперь мы хотели бы развернуть эти файлы (два новых файла и обновленную версию существующего файла) в качестве исправления (или обновления) с помощью патча MSI (msp). Я загрузил пустой файл PCP с веб-сайта MSDN и внес некоторые изменения в него. Изменения включают в себя следующие таблицы:Проблемы с созданием патча MSI
ImageFamilies
PatchMetadata
PatchSequence
Свойства
TargetImages
UpgradedImages
Все остальные таблицы повторно основной пробел.
Затем мне удалось создать файл msp с этим файлом PCP на основе двух версий образа администрирования программного пакета, оба из которых были созданы из проекта установки Visual Studio (VS 2010). Разница между этими двумя пакетами msi заключается в том, что я заменил файл и добавил два новых файла, но ничего больше. Я не изменил код продукта (GUID), код обновления (GUID) или номер версии.
Затем я пытался установить этот msp-файл поверх выпущенной версии.
Первый экран, предлагающий отремонтировать или удалить продукт. Это не то, что мы хотим. Мы хотим, чтобы установщик был как новая установка, включая показ лицензионного соглашения. Как определить пользовательский интерфейс для MSI-патча?
Во время установки патча, я получил сообщение об ошибке, как показано ниже, то установка не удалась:
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
Мы действительно хотим использовать небольшое обновление в отличие от незначительного обновления, потому что ничего не изменилось с точки зрения всего приложения, но добавлено несколько новых файлов, которые вообще не являются частью основного приложения. я пытался применить патч с помощью командной строки MSIexec, как показано ниже: 'Msiexec/р patch.msp REINSTALL = DefaultFeature REINSTALLMODE = omus' я все еще попросили«Ремонт»или«Удалить»продукт. У нас было какое-то пользовательское действие, живущее в основном исполняемом файле, которое находится в «[ProgramFilesFolder] \ BPS \ TestApp». (Продолжение следующего комментария) ... – Dan
Я понятия не имел, почему 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
Большое спасибо за ваш ответ, Cosmin Pirvu. Я должен был поставить эту строку в начало моего первого комментария. Но мне не разрешили изменить его. – Dan