2015-11-07 6 views
0

Я пытаюсь генерировать MSP из последней и предыдущей ССИ как в следующем сценарии:Un-установка пакета не поддерживается

  • предыдущей MSI фиксируется и используется в качестве основы.
  • Последняя MSI генерируется с новой модификацией в файлах, включенных каждую ночь, и она будет получать новую ProductVersion для каждого поколения (что происходит при каждой сборке на сервере).
  • На компьютере установлена ​​предыдущая MSI, базовая линия; допустим, имеет версию 1.0.0.0.
  • MSP, сгенерированный на первой сборке, успешно установлен, теперь версия продукта 1.0.0.1.
  • Последняя версия MSI 1.0.0.2 и имеет новые модификации, и мы хотим сгенерировать новый MSP для получения этих изменений в машине, MSP создается на основе разницы между предыдущим MSI 1.0.0.0 и последним, что теперь 1.0.0.2.

Проблема заключается в том, что мы получаем сообщение об ошибке при попытке установить второй ПМП говоря:

Ун-установка пакета не поддерживается.

И ниже журнал ошибок:

MSI (s) (78:EC) [07:57:01:214]: Final Patch Application Order: 
MSI (s) (78:EC) [07:57:01:214]: {C39177DC-24FD-432E-9D50-159E7E3CC62C} - C:\temp\[Package Name].msp 
MSI (s) (78:EC) [07:57:01:214]: Other Patches: 
MSI (s) (78:EC) [07:57:01:214]: Unknown\Absent: {9BEBFF56-7735-4618-BF01-01E96548FA81} - 
MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] - Update '[Package Name]' could not be removed. Error code 1646. 
Additional information is available in the log file C:\Users\Administrator\Desktop\msp.log. 

MSI (s) (78:EC) [07:57:01:214]: Windows Installer removed an update. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033. 
Manufacturer: [Company]. Update Name: [Package Name]. Removal success or error status: 0. 

MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] - Update '{C39177DC-24FD-432E-9D50-159E7E3CC62C}' could not be installed. Error code 1646. 
Additional information is available in the log file C:\Users\Administrator\Desktop\msp.log. 

MSI (s) (78:EC) [07:57:01:214]: Windows Installer installed an update. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033. 
Manufacturer: [Company]. Update Name: {C39177DC-24FD-432E-9D50-159E7E3CC62C}. Installation success or error status: 1646. 

MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] -- Installation failed. 

MSI (s) (78:EC) [07:57:01:214]: Windows Installer installed the product. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033. 
Manufacturer: [Company]. Installation success or error status: 1646. 

Uninstallation of the update package is not supported. 
C:\Windows\Installer\5d9684f.msi 

ли это разрешено делать? Или нам нужно изменить предыдущий MSI на каждую установку MSP, поэтому мы сохраняем каждый MSP только с отдельными файлами?

ответ

1

Ошибка 1646 подразумевает, что вы пытаетесь удалить патч, который не помечен как uninstallable. Недостаточно информации, чтобы узнать, так ли это, догадки сосомы.

В целом, ваш подход выглядит правильно. Базовая линия всегда 1.0.0, и патч всегда строится как дельта betwen этой базы и каждый новый файл MSI. Ваш комментарий «.. MSP создается на основе разницы между предыдущим MSI 1.0.0.0 и последним, который теперь 1.0.0.2». немного вводит в заблуждение, потому что предыдущий MSI был 1.0.0.1 в ваших примерах. Возможно, вы имели в виду базу 1.0.0.0.

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

Однако примеры ProductVersion не соответствуют тому, что находится в журнале. Версия продукта: 1.3.0.0.81.159 не является допустимой версия:

https://msdn.microsoft.com/en-us/library/aa370859(v=vs.85).aspx

так что вы не можете исключить возможность, что недействительные версии связаны с ошибкой, особенно если все фактические версии MSI являются 1.3.0.0.

+0

1.0.0. * Версия Я использую его для объяснения, да и фактическая версия 1.3.0. *. Первый msp был сгенерирован между 1.0.0.0 и 1.0.0.1, этот msp установлен на машине. Затем, когда генерируется 1.0.0.2 msi, я использовал в качестве последнего msi, а база (предыдущая) msi все еще 1.0.0.0, генерируется msp версия 1.0.0.2, но при попытке установить поверх 1.0.0.1 msp, Я получаю сообщение об ошибке по основному сообщению. Да каждый раз, когда генерируется новый GUID для msp, продукт msi тот же. Это разрешено или мне нужно изменить базу 1.0.0.1 при создании 1.0.0.2 msp? –

+0

Если вы имеете в виду версию продукта, которая имеет 6 цифр, недействительна, она работает и никогда не получала ошибку, а также применяла ее в ARP. –

+0

В отсутствие всех настроек в файле PCP и журнала создания патча я могу только указать, что явно не так. И ProductVersion явно недействительна, документы говорят, что используются три цифры, поэтому для увеличения версии вам нужно увеличивать первые три цифры. В противном случае все ваши версии патчей будут 1.3.0. Также убедитесь, что вы не меняете ProductCode. – PhilDW

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

  • Нет связанных вопросов^_^