Компонент из старой версии не удален - PullRequest
0 голосов
/ 05 апреля 2011

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

Старый пакет можетбыть полностью удаленным с помощью «Установка и удаление программ», все установленные файлы будут удалены.Во время обновления в журнале установки отображается старый пакет, который сообщается самому REMOVE, однако этого не происходит, поскольку файл, принадлежащий компоненту, который перемещен в другой каталог, остается без изменений.

Нужно ли мнеявно удалить файлы из более старых версий того же пакета, или я что-то здесь упускаю?

InstallExecuteSequence -

LaunchConditions            100
ValidateProductID           150
FindRelatedProducts         162
AppSearch                   175
CostInitialize              200
FileCost                    300
CostFinalize                400
MigrateFeatureStates        450
InstallValidate             500
InstallInitialize           600
ProcessComponents           620
UnpublishFeatures           650
RemoveFiles                 700
RemoveFolders               800
CreateFolders               900
MoveFiles                   1000
InstallFiles                1100
PublishFeatures             1200
PublishProduct              1300
RegisterProduct             1400
RegisterUser                1500
InstallFinalize             1600
RemoveExistingProducts      1700

Обновление: Удаление жалуетсяо невозможности удалить C:\Config.msi\. во время InstallFinalize.Может ли это быть как-то связано?

1 Ответ

2 голосов
/ 05 апреля 2011

Когда RemoveExistingProducts запланировано после InstallFinalize, вы должны соблюдать все правила для компонентов. (См. http://www.joyofsetup.com/2008/12/30/paying-for-upgrades/.) «Компонент, перемещенный в другой каталог», требует создания нового компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...