Недавно была выпущена новая версия нашего продукта (пакет программного обеспечения).Чтобы расширить функциональность, мы разработали плагин впоследствии.Теперь мы хотели бы развернуть эти файлы (два новых файла и обновленную версию существующего файла) как исправление (или обновление) с патчем MSI (msp).Я загрузил пустой файл PCP с веб-сайта MSDN и внес в него некоторые изменения.Изменения затрагивают следующие таблицы:
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».
Может кто-нибудь помочь мне с этими проблемами?Если вам потребуется дополнительная информация для выявления проблем, пожалуйста, дайте мне знать.Любые мысли, советы, предложения будут очень признательны.
Дан