Хобрук: Ваш путь к мастерству в программировании

MSI WIX: создание небольшого патча обновления с использованием двух MSI

Есть ли способ создать небольшое обновление (файл патча, например .msp) или msi на основе старого установщика MSI и нового установщика MSi. мы хотим предоставить заказчику незначительный обновленный патч (.msp или .msi0, который содержит только изменения.
1) Я создал (старый) Test.msi на основе версии 4. wxs файлы. эти 4 файла wxs помогают мастеру установки. Ниже приведены примеры.

Файл Welcome.wxs: здесь мы упомянули только приветственное сообщение со ссылкой на изображение нашего проекта Файл Main.wxs: который содержит фактический сценарий файла источника wxs для компонентов и функций. . InstallerPath.wxs: где пользователь может выбрать путь для установки.

LicenseAgrement.wxs: файл диалога с соглашением о лицензии.

2) Я изменил только номер версии продукта, изменил несколько файлов проекта и добавил несколько новых файлов.
3) Затем я создал (новый) Test.msi, основанный на этих 4 файлах .wxs.
4) Используя эти старые и новые установщики, как я могу создать патч (.msp или .msi) для незначительного обновления.


Ответы:


1

Если вы хотите сделать это двумя MSI, то это отправная точка:

http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html

Затем есть исправление WiX:

http://wixtoolset.org/documentation/manual/v3/patching/wix_patching.html

Или, как вариант первого, вы можете создать свой собственный файл .PCP и запустить msimsp из комплекта Windows, как описано здесь:

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

11.02.2015
  • спасибо PhilDW. В приведенных выше URL-адресах они упомянули процесс создания патча с использованием одного файла wxs. и они создают diff.wixmst с помощью команды torch с файлом .wixpdb (который создается только из одного исходного файла wix) (torch.exe -p -xi 1.0 \ product.wixpdb 1.1 \ product.wixpdb -out patch \ diff. wixmst). У меня вопрос, есть ли у нас более одного файла исходного кода WIX и с помощью msi (старый установщик и новый установщик) для создания diff.wixmst?) 12.02.2015
  • Патчу нужны два файла MSI в случае Windows SDK, запуск msimsp с файлом pcp, это сценарий с двумя файлами MSI. У WiX есть несколько вспомогательных функций, основанных на файлах Xml. Здесь описаны три основных способа, я бы выбрал тот, который подходит именно вам. 12.02.2015
  • Спасибо, PhilDW. Теперь можно создавать патч. Но изменения патча не отражаются (при установке патча). Я могу видеть изменение версии в «Программы и компоненты» и информацию о патчах (в «Установленных обновлениях»). На самом деле мой main.wxs ссылается на другой файл .msm (у нас есть папка AppHome, которая содержит основной файл приложения и собирает его с помощью тепла. И генерирует app_home.wxs, а также с помощью свечи и света, генерируя app_home.msm), этот файл упоминается в наш main.wxs (где мы настроили все ярлыки, другие командные файлы и справку, ручные pdf-файлы) и генерация окончательного MSI. 19.02.2015

  • 2

    Просто чтобы предоставить еще одну ссылку в качестве дополнительной информации к последней ссылке, PhilDW уже дал: Полезно, если вы хотите вызвать генерацию патча собственным приложением / фреймворком для исправления. Затем вы можете настроить таргетинг на PatchWiz.dll напрямую из MS без использования msimsp.

    https://msdn.microsoft.com/en-us/library/aa370590%28v=vs.85%29.aspx

    Но MsiMsp - это, конечно, более простая первая запись. В основном это просто оболочка для этой dll.

    Но: Создание файлов .pcp не всем нравится ... зарезервировано для людей, которые хотят здесь углубиться. Но ЕСЛИ вы этого хотите, вероятно, безопаснее делать это с помощью кода, чем вручную, если вы все поймете.

    12.02.2015
    Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

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

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..