Используя Ansible, проверьте, установлен ли пакет MSI на windows или нет. - PullRequest
2 голосов
/ 15 апреля 2020

Я создаю книгу воспроизведения, которая установит пакет MSI на сервер windows. Но модуль win_package не отвечает, если пакет MSI уже установлен. Документация ansible говорит, что я могу использовать product_id пакета msi при установке пакета. Но product_id работает, только если ранее установленная версия пакета совпадает с версией устанавливаемого пакета. Но на сервере windows может быть другая версия того же установщика.

Мой вопрос: как мне удалить предыдущую версию и установить текущую версию, используя Ansible.

1 Ответ

0 голосов
/ 15 апреля 2020

Основное обновление : Правильно созданный MSI удалит предыдущие версии перед установкой новейшей версии с помощью "крупного обновления" , реализованного с помощью Таблица обновлений внутри MSI.

Инструмент : способ реализации крупного обновления зависит от используемого вами инструмента ( Installshield, Advanced Installer , WiX, et c ... ). Ссылка выше взята из MSI SDK (в первом абзаце выше). Это показывает реальное «под капотом - MSI способ сделать это». Другими словами, сама технология без каких-либо специальных функций от инструментов вендора, которые помогут вам упростить процесс.

Удаление : Самый простой способ вручную удалить существующий MSI - это с помощью командной строки msiexe c .exe:

msiexec.exe /x {11111111-1111-1111-1111-11111111111X}

Сведения о том, как найти существующие установки и как их удалить, приведены здесь:

...