Создание msi-пакетов и установка любого ПО средствами групповых политик Windows. Создание msi пакета


Создание msi-пакетов и установка любого ПО средствами групповых политик Windows / Хабр

Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.
Введение, пара ссылок и дисклеймер
Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, — установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.

Интересный цикл статей по установке ПО через ГП. Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».

Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая — чтобы получившийся msi-ник смог установиться через групповые политики.

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

Создание и подготовка пакета
Пример установки будет произведен для Mozilla Firefox, т. к. это широко известный продукт, не имеющий msi-инсталлятора от разработчиков.
  1. Запускаем exe to msi и указываем в нем путь к exe-установщику firefox. По ранее найденной в сети информации становится понятно, что по-тихому установить огнелиса можно с параметрами -ms -ira. Их-то и указываем во втором поле exe to msi и жмем «Build MSI».
  2. Казалось бы все, msi-пакет готов. Действительно, запустив получившийся результат мы получим установленный в системе firefox и в статье можно было бы ставить точку. К сожалению, не все так просто. Текущий пакет установки не пригоден для развертывания через GPO и при загрузке компьютера вы будете получать совершенно ничего не объясняющие ошибки в логах «произошла неисправимая ошибка...» А все дело в том, что разработчики exe to msi тоже хотят есть и их бесплатный продукт генерирует msi «не по правилам».
  3. Ну что ж, берем орку и открываем в ней наш эмсиайник.
  4. Первым делом находим в левом списке таблицу Property и обращаем внимания на два поля — ProductCode и UpgradeCode. Эти два поля должны быть уникальны для каждого продукта, а наш exe to msi генерит всегда одинаковые. Ну что ж, не беда, жмем в верхнем меню View -> Summary Information, находим поле PackageCode и жмем New GUID. Получившийся результат копируем в буфер обмена и вставляем в ProductCode. Повторяем для UpgradeCode и наконец для самого PackageCode. Тут же в Summary Information правим поле Title на Mozilla Firefox, остальное по желанию. Это, по сути, ни на что не влияет.
  5. Опять же в таблице Property меням ProductName на Mozilla Firefox (я до кучи меняю еще ARPCONTACT и Manufacturer). Можно так же поставить правильное значение для ProductVersion.
  6. Вроде бы GUID и прочие «IDы» поменяли, но как показывает практика, этого недостаточно. Жмите в orca Tools –> Validate, снимите птицу Show INFO Messages и нажимайте Go.
  7. Как видите, вылезла куча ошибок на наличие/отсутствие некоторых таблиц и значений. Я не стал заморачиваться и просто взял первый попавшийся (7zip x64 9.20) небольшой msi и скопировал оттуда 4 недостающие таблицы (через Export-Import, естественно): _Validation, AdminExecuteSequence, AdminUISequence и AdvtExecuteSequence. На самом деле, я уверен, что можно создать «правильный» msi-инсталлятор, без лишнего мусора, но не забывайте, наша цель всего лишь запустить родной setup приложения в тихую.
  8. После добавления таблиц проходим снова Tools –> Validate (к слову, первый раз проверку можно вообще не делать и сразу импортировать таблицы). Если вы тоже взяли за основу msi от 7zip, то результатом будет шесть эрроров, которые необходимо устранить. Жмите Close, удаляйте лишние поля, отмеченные красным.
  9. В конце можно еще раз проверить валидацию и убедиться что остались лишь ничем не мешающие варнинги. Сохраняем msi.
  10. Вот в принципе и все, осталось добавить msi в ГП и назначить необходимые свойства.
Нюансы
  1. При установке описанным выше методом у вас появятся как бы две копии софта. Первая — собственно нужное приложение, а вторая — исходный msi-ник, ведь мы же его как бы поставили. В принципе, это ни на что не влияет, кроме как на отображение в «Установка и удаление программ», и то, только в Windows XP (если вы ничего не меняли, кроме указанного мной). Минусом может быть появление лишних программ при автоматической инвентаризации софта, если вы ее используете.
  2. Автоматически удалить приложение теми же средствами развертывания не получится. Точнее получится, но удалится только и так не нужный msi-контейнер. Ну можно повозиться со свойствами msi при его создании, чтобы оно захватывало с собой установленное ранее приложение, так же втихую. Я такой задачи не ставил.
  3. При установке обновлений ПО нужно указывать в свойствах ГП приложения, чтобы оно заменяло предыдущее, т.е обязательно предварительно удаляло старое. Это гарантирует, что у вас не будут плодиться те самые никому не сдавшиеся левые дубли приложений в «установке и удалении программ».
  4. Чтобы установить приложение, имеющее дистрибутив из нескольких файлов, вам придется сначала упаковать его в exe, который при запуске сам распакуется и даст команду для тихой установки. Рекомендую создавать sfx-архивы средствами того же 7-zip.
  5. Ничего не мешает ставить ПО через скрипты автозагрузки. Более того, такой метод более гибкий, и я давно его использую через свои скрипты. Вот только использование родных средств ГП получается намного быстрее, т. к. простое создание msi из exe занимает пару минут.
  6. Windows 7 почему-то не пишет «Установка управляемого приложения...», а просто говорит «пожалуйста, подождите». При первом развертывании всей кучи софта разом или при установке тяжелого приложения это может сподвигнуть юзера на звонок админу или нажатие кнопки резет.
На этом вроде бы все, надеюсь было интересно, делитесь опытом.

habr.com

Создание msi пакетов нетрадиционными методами « 00m.Ru

Приветствую!Не так давно мне понадобилось создать простейший msi файлик для экономии времени. Дело того стоило - 60 машин, на которых надо обновить софт и один компакт-диск для инсталляции.«А почему не выложить компакт-диск в сеть и не исталлировать от туда?» - спросите Вы. Можно выложить, но это не исключит (и не особенно облегчит) одновременной игры на 60-ти досках. Решение достаточно простое - запаковать инсталляцию в msi и потом опубликовать через активную директорию. Чем, я, собственно и занялся.

Первое, и, пожалуй, самое главное условие запаковки - чистая операционная система. Никакого лишнего софта. Причина проста - при инсталляции, программа может либо создать, либо переписать\обновить\не дописать некий ключ в системном реестре. И, если на вашей машине этот ключ уже есть, не факт, что он будет на другой машине. Так что, напомню еще раз, абсолютно чистая машина.

Для получения такой чистой машины можно использовать два пути.

Путь первый - взять лишнюю машину (когда это у нас машины бывают лишними?), поставить на нее систему и снять с диска образ (например при помощи утилиты Norton Ghost) и сохранить этот образ на другом диске (сетевом, или просто диске, повешенными slave-ом).У этого пути есть несколько недостатков:Необходима свободная машина, на которую будет установлена операционная система.Необходимо найти свободный жесткий диск, чтобы можно было сохранять образы (например вы создаете msi для разных операционных систем).Восстановление системы посое изменений занимает довольно длительное время. Как минимум 20 минут на загрузку с загрузочного диска и восстановление системы.Кстати, System Restore, что поставляется с XP - не решает проблему отката после изменений - все равно остаются файлы и записи в регистре после отката к точке восстановления.

Путь второй.Использовать какой-либо эмулятор операционной системы. Из известных мне могу назвать Virtual PC от Микрософта, и VMware Workstation от VMware Inc. По субъективным причинам я использую VMware.У этого пути есть множество достоинств, но и несколько недостатков.Достоинства:Отпадает необходимость в поиске свободной машины, свободного жесткого диска, места на столе и т.д.Возможность создания snapshot-ов системы в сотни раз упрощает и ускоряет откат к исходной чистой операционной системе (мы ведь хотим получить инструмент, которым можно пользоваться многократно).Возможность одновременного запуска нескольких гостевых операционных систем (если необходимо)Количество образов создаваемых операционных систем ограничего только размером жесткого диска.Возможности клонирования, копирования готовых образов и т.д. весьма упрощает отслеживание изменений. (Вот тут у нас XP с Офисом, Firefox-ом и Tildes Birojs, а тут у нас ХР c Офисом и Tildes Birojs)

К недостаткам можно причислить прожорливость сего софта. Как минимум 192 мегабайта (а лучше 256) гостевой операционной системе придется выделить. Равно как и гигагерц процессорной мощности.

Отсюда следует, что если у вас достаточно мощная рабочая станция, то лучше всего использовать второй способ. Именно его мы и будем разбирать.

Итак, для работы нам понадобятся:

Инсталляция VMware Workstation - она доступна на сайте производителя - там триал, но серийник есть в сети, и вы должны знать, где его найти (если нет, то посыпьте голову пеплом в свободном от компьютерной техники помещении).InstallShield admin Studio v.6 - также доступна на сайте производителя, но потребуется зарегистрироваться, чтобы скачать. Версия на 30 дней, но мы-то будем использовать snapshot-ы, так что эти 30 дней будут длиться долго JИсталляционный диск операционной системы (если нет диска, то можно использовать iso образ - Vmware позволит его подмонтировать, как витуальный диск).

Примечание: в сети есть множество утилит, позволяющих создать полноценные пакеты msi. Использование AdminStudio только для этих целей можно сравнить с пресловутой стрельбой по воробьям из пушки... С другой стороны - а почему бы и нет? В конце-концов всеравно бесплатно.

Весь процесс можно условно разбить на две части - подготовка рабочей станции и, собственно, создание пакета msi.Подготовка рабочей станции

После того, как мы скачали и установили VMware Workstation, запускаем его. Жмем на New Virtual Machine.

Откроется мастер создания новой виртуальной машины. Нажимаем Next, ибо ничего нового он нам не сообщит.

Здесь мы оставляем значение по умолчанию Typical и нажмаем Next.

Обратите внимание на количество платформ. Выбираем Windows XP и жмем Next

В этом окне мы даем имя нашей машине и указываем место хранения образа машины на диске. Место хранения по умолчанию в My Documents. Советую сменить - никчему многогигабайтные профили. Когда все выбрали, жмем Next.

В настройках сети можете выбирать так, как вам удобнее. Если хотите, чтобы виртуальная машинка выглядела в сети полноценной машиной со своим IP адресом, то выбирайте значение по-умолчанию.Если хотите, чтобы она транслировалась в IP адрес главной (хозяйской) машины, то выбирайте второй выриант.Если вы хотите, чтобы виртуальная машина разоговаривала по сети только с другими виртуальными машинами на хозяйской машине, то выбирайте третий вариант.Ну, а, если вам сеть нужна, как зайцу стоп-сигнал, то выбирайте последнюю опцию.Как выберете, жмите Next.

В этом окне тоже все должно быть понятно - задаем размер виртуального «диска». Единственное, что стоит отметить - опция Allocate all disk space now. Вроде как инсталляции должны проходить быстрее, но тогда все гигабайты, что вы выделили, сразу отведутся под систему. Если галочку не ставить, то они будут выделяться по мере заполнения. Я рекомендую галочку не ставить. Тестовая машина в конце концов. Когда определимся, жмем Finish.

Откроется основное окно VMware в котором мы сможем лицезреть следующее:

В левой части (под номером 1) список наших виртуальных машин с именами, которые мы указали в самом начале.Под номером 2 у нас управление виртуальной машиной (дополнительные кнопки наверху)Под номером 3 у нас перечень железа, которое стоит в виртуальной машине (его можно смело менять).И, наконец, под номером 4 - информация о виртуальной машине (где хранится, что за операционная система и в каком состояннии она).Перед тем, как мы начнем инсталлировать нашу ОС, нужно немного подправить параметры виртуальной машины. Для этого жмем на Edit virtual machine settings (в «окне» номер 2)

Откроется следующее окно:

Тут мы можем подрегулировать количество памяти, используемой виртуальной машиной, добавить такие устройства, как жесткие диски, порты, приводы компакт-дисков и т.д. (придется пройтись через мастер. Разбирать каждый пункт по-отдельности не будем). Если вас интересует монтирование iso образа на виртуальную машину, то вы можете либо создать дополнительный привод компакт диска, либо отредактировать существующий.Когда закончите, нажмите ОК.

Ну, вот, все настройки сделаны, можно запускать нашу виртуальную машину.Жмем на зеленую кнопку.

Все достаточно просто и, в принципе, знакомо - нажмите F2, чтобы зайти в Setup или ESC для выбора загрузочного устройства. Хочу заметить, что для того, чтобы «войти» в виртуальную машину, нужно кликнуть на виртуальном «мониторе».

В итоге получаем либо

Либо

Что тоже неплохо 🙂

Думаю, все, кто заинтересовался этой статьей, умеют инсталлировать операционную систему, если нет, то идите помойте голову и посыпьте ее пеплом заново.Ставьте операционную систему и AdminStudio. Когда все поставите, выключайте виртуальную машину (да, как обычный компьютер через Shutdown).

Идите в меню VM->Snapshot и выберите Take Shapshot.Дайте ему название и впишите что-нибудь в комментарии («Аффтар жжот!» например).

Теперь, когда все готово. Запускаем виртуальную машину.

Создание пакета msi

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

Вы запустили свою виртуальную машину.Теперь запускайте AdminStudio (Вы ведь его уже скачали и проинсталлировали?)

Жмете на Package a Setup. Это позволит вам выбрать инсталляционный файл вашей программы.

Я буду использовать для примера инсталляционный диск Tildes Winlogs.

Вставьте инсталляционный диск и нажмите на Browse (может быть придется прокрутить окно).Выберите тип упаковки: Installation Monitoring означает, что все изменения в системе будут отслеживаться в процессе инсталляции, Snapshot означает, что будет делаться анализ системы в до и после инсталляции, и разница запакуется. Рекомендую выбрать Installation Monitoring, так, как он быстрее и проще с настройке.

Прокрутите ниже и выберите, в какую директорию скидывать готовый пакет, и где хранить файлы, используемые для упаковки. После нажатия Repackage запустится мастер упаковки. Жмите Next.

Выберите Installation Monitoring и нажмите Next

В этом окне можете указать всю сопутствующую информацию (почтовые адреса, номера счета, имена, фамилии и т.д.)

Укажите, где будут храниться отчет об анализе системы (можете использовать значение по-умолчанию). Нажмите Start, для начала инсталляции (нажмите Yes, если попросят подтверждение на запись в папку проекта).

Инсталлируйте программу, так, как вы бы делали это на обычном компьютере. Вы также можете смело вносить все необходимые изменения в систему (добавление ярлыков, настройки в программе и т.д.).После окончания жмите Process.

Результат обработки виден в следующем окне. Можете посмотреть, что накидала инсталляция, проверить все-ли верно. После этого выберите Repackaged Output и жмите Build.

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

Если все нормально - сохраняйте запакованную инсталляцию куда-нибудь (на сетевой диск, на USB, на другой жесткий диск). Инсталляция будет лежать в папке проекта (вы ее указали в самом начале упаковки).

После этого остается только проверить запакованный файл и, в случае, если все хорошо - можно отправлять пакет в production environment.

00m.ru

Создание MSI пакета для установки WinRar в сети организации.

Этот пример показывает как конвертировать exe инсталлятор WinRAR в MSI файл

  • Запустите Exe to msi Converter и выберите в меню 'New MSI Package'. Откроется мастер создания проекта (Project Wizard).

  • Укажите путь к файлу инсталлятора WinRar.exe. Нажмите кнопку далее (Next).

  • Выберите метод конвертирования "перепаковка" (Repckager).

  • Прежде чем продолжить, рекомендуется закрыть все программы и отключить антивирус. Лучше всего выполнять перепаковку на чистой виртуальной машине. Убедитесь, что WinRar не установлен в системе.

  • Во время процесса перепаковки будет запущен инсталлятор WinRar. Пройдите все этапы установки и закройте установщик. Нажмите Finish в окне Project wizard.

  • Новый проект создан.

  • Если необходимо отредактируйте файлы и значения реестра.

  • Кликните 'Build MSI Package' в меню проекта.

  • Укажите метод развертывания (Deploiment Method) 'Msi Setup Package' и метод упаковки файлов (Package files) 'In Setup File' в установочном файле(рекомендуется при небольших размерах инсталлятора). Можно указать папку где будет создан MSI файл и имя файла. Кликните 'Build Package' чтобы создать MSI файл.

  • Файл WinRar MSI создан и готов для развертывания.

  • www.exetomsi.com

    Создание msi-пакетов и установка любого ПО средствами групповых политик Windows

    Доброго времени суток! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.

    Введение, пара ссылок и дисклеймер

    Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, — установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.

    Интересный цикл статей по установке ПО через ГП. Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».

    Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая — чтобы получившийся msi-ник смог установиться через групповые политики.

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

    Создание и подготовка пакета

    Пример установки будет произведен для Mozilla Firefox, т. к. это широко известный продукт, не имеющий msi-инсталлятора от разработчиков.

    1. Запускаем exe to msi и указываем в нем путь к exe-установщику firefox. По ранее найденной в сети информации становится понятно, что по-тихому установить огнелиса можно с параметрами -ms -ira. Их-то и указываем во втором поле exe to msi и жмем «Build MSI».
    2. Казалось бы все, msi-пакет готов. Действительно, запустив получившийся результат мы получим установленный в системе firefox и в статье можно было бы ставить точку. К сожалению, не все так просто. Текущий пакет установки не пригоден для развертывания через GPO и при загрузке компьютера вы будете получать совершенно ничего не объясняющие ошибки в логах «произошла неисправимая ошибка...» А все дело в том, что разработчики exe to msi тоже хотят есть и их бесплатный продукт генерирует msi «не по правилам».
    3. Ну что ж, берем орку и открываем в ней наш эмсиайник.
    4. Первым делом находим в левом списке таблицу Property и обращаем внимания на два поля — ProductCode и UpgradeCode. Эти два поля должны быть уникальны для каждого продукта, а наш exe to msi генерит всегда одинаковые. Ну что ж, не беда, жмем в верхнем меню View -> Summary Information, находим поле PackageCode и жмем New GUID. Получившийся результат копируем в буфер обмена и вставляем в ProductCode. Повторяем для UpgradeCode и наконец для самого PackageCode. Тут же в Summary Information правим поле Title на Mozilla Firefox, остальное по желанию. Это, по сути, ни на что не влияет.
    5. Опять же в таблице Property меням ProductName на Mozilla Firefox (я до кучи меняю еще ARPCONTACT и Manufacturer). Можно так же поставить правильное значение для ProductVersion.
    6. Вроде бы GUID и прочие «IDы» поменяли, но как показывает практика, этого недостаточно. Жмите в orca Tools –> Validate, снимите птицу Show INFO Messages и нажимайте Go.
    7. Как видите, вылезла куча ошибок на наличие/отсутствие некоторых таблиц и значений. Я не стал заморачиваться и просто взял первый попавшийся (7zip x64 9.20) небольшой msi и скопировал оттуда 4 недостающие таблицы (через Export-Import, естественно): _Validation, AdminExecuteSequence, AdminUISequence и AdvtExecuteSequence. На самом деле, я уверен, что можно создать «правильный» msi-инсталлятор, без лишнего мусора, но не забывайте, наша цель всего лишь запустить родной setup приложения в тихую.
    8. После добавления таблиц проходим снова Tools –> Validate (к слову, первый раз проверку можно вообще не делать и сразу импортировать таблицы). Если вы тоже взяли за основу msi от 7zip, то результатом будет шесть эрроров, которые необходимо устранить. Жмите Close, удаляйте лишние поля, отмеченные красным.
    9. В конце можно еще раз проверить валидацию и убедиться что остались лишь ничем не мешающие варнинги. Сохраняем msi.
    10. Вот в принципе и все, осталось добавить msi в ГП и назначить необходимые свойства.
    Нюансы
    1. При установке описанным выше методом у вас появятся как бы две копии софта. Первая — собственно нужное приложение, а вторая — исходный msi-ник, ведь мы же его как бы поставили. В принципе, это ни на что не влияет, кроме как на отображение в «Установка и удаление программ», и то, только в Windows XP (если вы ничего не меняли, кроме указанного мной). Минусом может быть появление лишних программ при автоматической инвентаризации софта, если вы ее используете.
    2. Автоматически удалить приложение теми же средствами развертывания не получится. Точнее получится, но удалится только и так не нужный msi-контейнер. Ну можно повозиться со свойствами msi при его создании, чтобы оно захватывало с собой установленное ранее приложение, так же втихую. Я такой задачи не ставил.
    3. При установке обновлений ПО нужно указывать в свойствах ГП приложения, чтобы оно заменяло предыдущее, т.е обязательно предварительно удаляло старое. Это гарантирует, что у вас не будут плодиться те самые никому не сдавшиеся левые дубли приложений в «установке и удалении программ».
    4. Чтобы установить приложение, имеющее дистрибутив из нескольких файлов, вам придется сначала упаковать его в exe, который при запуске сам распакуется и даст команду для тихой установки. Рекомендую создавать sfx-архивы средствами того же 7-zip.
    5. Ничего не мешает ставить ПО через скрипты автозагрузки. Более того, такой метод более гибкий, и я давно его использую через свои скрипты. Вот только использование родных средств ГП получается намного быстрее, т. к. простое создание msi из exe занимает пару минут.
    6. Windows 7 почему-то не пишет «Установка управляемого приложения...», а просто говорит «пожалуйста, подождите». При первом развертывании всей кучи софта разом или при установке тяжелого приложения это может сподвигнуть юзера на звонок админу или нажатие кнопки резет.

    На этом вроде бы все, надеюсь было интересно, делитесь опытом.

    Автор: yosemity

    www.pvsm.ru

    Программа создания MSI-пакетов.

    EMCO MSI Package Builder Professional Edition 4.4.9.6932  приложение позволяет создавать MSI-пакеты, которые затем могут быть установлены удаленно с использованием удаленной установки.Одной из наиболее важной особенностей EMCO MSI Package Builder является возможность мониторинга в реальном времени всех системных файлов и реестра изменений, выполняемых для применения и использования результатов мониторинга для создания MSI.

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

    EMCO MSI Package Builder представляет собой ценное дополнение к инструментарию системного администратора. Это приложение позволяет создавать пользовательские пакеты установки MSI в соответствии с вашими требованиями.Мастер проектов предоставляет пользователям быстрый и надежный способ для создания MSI-файла, доступ к управлению проектом или Decompile MSI-файлам.

    Уникальной особенностью этого приложения является возможность следить за всеми файловыми системами и реестром изменений в режиме реального времени и использовать эту информацию для создания нового пакета MSI.Эта функция позволяет контролировать действия какой-либо установки применения и создания MSI пакетов, которые выполняют те же действия во время установки MSI. Если вам нужно установить программу на нескольких компьютерах эта функция будет очень полезна для вас.

    Вместо того, чтобы после установки запускать мастер каждый раз, когда вы устанавливаете приложение на другой компьютер, вы можете контролировать установку создав MSI пакет, который не требует ввода данных и имеет  полный снимок установки.Созданный MSI пакет не просто копия папки файловой системы — это полная установка, которая также обновляет реестр таким же образом, как оригинальные установки.Уникальная технология применяемая в процессе работы EMCO MSI Package Builder , позволяет отслеживать изменения в реестре и файловой системы в режиме реального времени и таким образом позволяет избежать длительного анализа реестра и файловой системы. Таким образом, вы можете создать новый пакет MSI сразу же после завершения мониторинга, так что это дает вам значительную экономию времени.Однако установка и применение мониторинга не единственный способ что бы создать MSI пакет с помощью EMCO Builder пакета MSI. Используя простой визуальный редактор, вы можете создать свой собственный MSI с самого начала.Этот процесс не требует специальных навыков в программировании. Все, что вам нужно сделать — создать MSI пакет, реестр и изменения файловой системы должны быть выполнены в процессе установки.EMCO MSI Package Builder также полезна, когда вам необходимо установить приложение с предварительно настроенными параметрами  на несколько компьютеров в сети. В этом случае вам не придется посещать все компьютеры и установливать это приложение вручную. Вместо этого, используя EMCO MSI Package Builder можно создавать MSI-пакет со всеми необходимыми настройками и параметрами в соответствии с вашими требованиями.Этот MSI пакет может быть легко установлен на отдельных компьютерах удаленно с помощью EMCO MSI Удаленный установщик, который входит в состав EMCO MSI Package Builder .Приложение было разделено на три издания с различной функциональностью и ценой. Если вам не нужен полный спектр функций MSI Package Builder вы можете выбрать вариант с меньшей функциональностью и сократить затраты.Professional Edition следует выбирать, если вам нужно захватить действия существующих установок и создавать собственные MSI из результатов мониторинга. Это издание также содержит функции MSI декомпиляции.Вот некоторые ключевые особенности EMCO MSI Package Builder Professional Edition:Проекты · время мониторинга существующих установок и приложений для создания собственных пакетов MSI из результатов мониторинга·Визуальное создание MSI пакетов не требует программирования·Система переменной поддержки, которая позволят вам установить созданный MSI на компьютерах с различными конфигурациями системы·Декомпиляция и редактирование существующих файлов MSI·Вариант для управления перезаписью файлов·Атрибуты поддержки File·Локализованный интерфейс пользователя и файлов помощи·Простота визуального редактора·Системные папки поддержки·Опции версий файла·Постоянные файлы, ключи и значения реестра поддержкиПроекты ·  следит за файловой системой и изменениями реестра· MSI декомпиляцииОграничения:· 30 дневная пробная версияЧто нового в этой версии: [читать полного изменения]Новые и улучшенные функции:Особенности написанные ниже, во-первых введены или значительно улучшены в этой версии:·Добавлен предварительный просмотр места системных папок  на машине, на которой Builder MSI пакет работаетРешенные проблемы:·. NET приложения могут перестать работать после установки MSI пакета созданного с использованием технологии живого мониторинга в конкретных условиях.

    P.P.S. Если у Вас есть вопросы, желание прокомментировать или поделиться опытом, напишите, пожалуйста, в комментариях ниже.

    Оцените статью: Поделитесь с друзьями!

    kompkimi.ru

    Создание файлов .msi | Windows IT Pro/RE

    Как подготовить старые приложения к работе с Windows Installer с помощью WinINSTALL LE

    Любой инструмент, облегчающий инсталляцию - а еще важнее, удаление программ - приносит ощутимую пользу. Поэтому мне нравится принцип универсальности, заложенный в файлах Windows Installer (.msi-файлах). Но готовые к работе с Windows 2000, приведенные к типу .msi приложения встречаются редко, поэтому каждый, кто хочет широко использовать файлы.msi, должен научиться создавать их. Это позволяет делать поставляемый вместе с Windows 2000 Server инструмент WinINSTALL Limited Edition (LE) фирмы VERITAS Software, обеспечивающий преобразование в .msi-формат. Однако процесс создания безупречного .msi-файла требует времени и усилий.

    Когда-то для установки приложения было достаточно скопировать на жесткий диск пару файлов, возможно, указав при этом другой каталог. Но большинство современных прикладных программ состоит из множества файлов, в том числе отдельной программы специально для установки приложения. Как правило, программы установки выполняют несколько функций. Во-первых, они создают один или два каталога программы для хранения программных файлов и данных. Во-вторых, они размещают динамические библиотеки (DLL) на жестком диске машины, но не всегда в каталогах нового приложения; часто DLL размещаются в каталоге \winnt или \winnt\system32 (несмотря на возможность конфликтов прикладных DLL, сохраненных в этих каталогах, с библиотеками DLL операционной системы и других приложений). В-третьих, большинство приложений ассоциированы с определенными расширениями файлов и должны сохранить ряд параметров конфигурации, поэтому программа установки заносит расширение файла и параметры конфигурации в реестр. Наконец, инсталляторы приложений обычно помещают отдельный пункт в меню Start, Programs. Из этого перечня операций видно, почему программы установки так велики - им необходимо выполнять множество задач.

    Администратору неудобно переносить программу установки и сопутствующие файлы на настольный ПК каждого пользователя и лично контролировать процедуру установки, ему нужен централизованный способ установки прикладных программ без вмешательства пользователя. Такой функциональностью располагает Active Directory (AD), но пользоваться файлами установки нелегко; для AD предпочтительны приложения в формате .msi. Но большинство поставщиков пока не выпускает свои продукты в .msi-формате. Поэтому, чтобы использовать AD для развертывания приложений, необходимо преобразовать большинство из них в формат .msi. WinINSTALL LE бесплатно поставляется в составе Windows 2000 Server (в папке \valueadd\3rdparty\mgmt\winstle на компакт-диске с Windows 2000), и многие администраторы отдадут предпочтение именно этому решению.

    СТРОИМ ПАКЕТ .MSI

    Для создания .msi-файлов в WinINSTALL LE используется метод моментального снимка, проверенный временем способ описания и инкапсуляции приложений. Чтобы сгенерировать .msi-файл для прикладной программы, следует приступать к работе на , ранее не эксплуатировавшемся настольном ПК, который я называю прототипом - я всегда пользуюсь утилитой Symantec Ghost или службами Microsoft Remote Installation Services (RIS), чтобы очистить диск прототипа и начать с чистого листа.

    Прежде чем инсталлировать приложение, следует запустить программу discoz.exe пакета WinINSTALL LE, которая составляет список файлов, каталогов и элементов реестра на прототипе - другими словами, discoz.exe генерирует моментальный снимок исходного состояния системы. Затем на прототипе устанавливается новое приложение и проводится его настройка в соответствии с требованиями пользователя. Для фиксирования любых изменений реестра компьютер следует перезагрузить - иногда эта операция необязательна, но она никогда не вредит. Затем программа discoz.exe запускается вновь. Она генерирует постинсталляционный моментальный снимок, отмечая все новые файлы, изменения в реестре и программные ярлыки. Discoz.exe собирает всю информацию об изменениях в указанном пользователем месте и строит соответствующий .msi-файл. В .msi-файле содержится информация об изменениях каталогов, файлов и реестра, а также набор инструкций для Windows Installer.

    Я опускаю подробности работы Windows Installer, ограничившись двумя рекомендациями. Во-первых, при подготовке WinINSTALL к созданию предварительного моментального снимка программа спрашивает, следует ли выполнить расширенную проверку реестра (Enhanced Registry Scan). Проверка всегда полезна, этот флажок следует отметить. Во-вторых, система подсказки WinINSTALL предлагает не держать discoz.exe на прототипе. Лучше установить discoz.exe на другом ПК и выделить в общее пользование каталог программы в каталоге \Program Files второго компьютера. Следует подсоединиться к этому общему каталогу и запустить discoz.exe из него.

    ИНСТАЛЛЯЦИЯ ПАКЕТА

    Теперь пришло время взглянуть на каталог .msi-файла, в котором отражены файлы и структура устанавливаемого приложения. Работая над данной статьей, я создал .msi-файл для Lotus Organizer 6. Данный пакет содержал каталог с именем Lotus, и применение .msi-файла заставляет Windows Installer создать и заполнить файлами каталог с этим именем. В моем пакете есть также каталог с именем \winnt, из чего я заключил, что фирма Lotus создала Organizer с нарушением правил установки. Из каталога .msi-файла можно узнать и точный объем пространства, занимаемого приложением на жестком диске - в .msi-файле нет сжатых файлов, которые уменьшают размер установленного приложения.

    Получив .msi-версию прикладной программы, можно инсталлировать приложение одним из трех способов. Во-первых, просто дважды щелкнуть на msi-файле. Во-вторых, использовать команду Msiexec /i, чтобы неявно загрузить файл из командной строки. Например, команда, показанная на Экране 1, инсталлирует пакет pilotdesk.msi из каталога \pilotdesk в каталоге приложений на server1 (как и большинство параметров команд в Windows, ключ /i нечувствителен к регистру.) В-третьих, можно воспользоваться политиками Group Policy, чтобы создать политику развертывания программного обеспечения (это тема для отдельной статьи).

    После ряда экспериментов я убедился, что Windows Installer нельзя вызвать двойным щелчком на .msi-файле или командой Msiexec /i из командной строки: эти методы не позволили инсталлировать Organizer, когда я зарегистрировался в качестве пользователя без административных полномочий. Но когда я задействовал групповую политику Group Policy для нового .msi-файла, чтобы назначить Organizer тому же пользователю, а затем зарегистрировался от имени этого пользователя, и выбрал пункты меню Start, Programs, Organizer, то Organizer был установлен без проблем.

    Почему же мне не удалось инсталлировать .msi-файл Organizer двойным щелчком мыши или по команде Msiexec? Во-первых, программа Setup приложения Organizer размещает некоторые файлы в каталогах \winnt и \winnt\system32, а по умолчанию пользователи без специальных полномочий могут только просматривать файлы в этих каталогах. Во-вторых, программа Setup приложения Organizer производит запись в два раздела реестра: HKEY_LOCAL_MACHINE\SOFTWARE и HKEY_CURRENT_USER\Software. Для каждой учетной записи пользователя имеется собственный раздел HKEY_CURRENT_USER\Software, в который пользователи могут беспрепятственно вносить изменения. Но только владелец учетной записи System и члены локальной группы Administrators могут производить запись в раздел HKEY_LOCAL_MACHINE.

    Тогда почему же удалось успешно провести инсталляцию с помощью Group Policy? Потому что операционной системе не было известно, что Msiexec выполнялась по запросу от имени моей учетной записи. Windows 2000 исходила из того, что Msiexec была запущена с учетной записью System, которая имеет право выполнять запись в каталоги \winnt и \winnt\system32. Windows Installer организован в виде службы отчасти потому, что Windows Installer может работать с учетной записью пользователя, отличной от записи пользователя, зарегистрировавшегося на рабочей станции в данный момент. Windows Installer может работать даже в случаях, когда на компьютере не зарегистрирован никто, например, в случае с такими службами, как Microsoft IIS.

    После того, как .msi-файл Organizer был связан с моей учетной записью с помощью политик Group Policy, обнаружилось досадное обстоятельство: инсталляция Organizer происходила всякий раз, когда я регистрировался, независимо от того, была запущена программа или нет. Это случилось потому, что Organizer не только внес свое имя в стандартное меню программ, но и поместил свой ярлык в мою папку Startup. В процессе регистрации ярлык активизировался, и начиналась установка Organizer. Поэтому я перестроил систему на прототипе и удалил элемент Organizer из папки Startup.

    Автоматический вызов некоторых других приложений, для которых мною были созданы .msi-файлы, происходил по другой причине: им соответствовали элементы в менее известном разделе HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Run (элементы некоторых программ могут размещаться и в файле параметров конфигурирования win.ini, хотя я не встречал их уже несколько лет). Из всего сказанного можно сделать вывод, что нужно быть готовым несколько раз перестраивать .msi-файл, не забывая каждый раз проверять его.

    ИСПОЛЬЗОВАНИЕ ПОДРУЧНЫХ СРЕДСТВ

    Мне часто задают вопрос, зачем нужно предоставлять учетные записи уровня Administrator пользователям, разрешая им устанавливать программы на своих машинах. Теперь ответ на этот вопрос очевиден: подобно Lotus Organizer, многие программы установки приложений производят запись в каталоги и разделы реестра, недоступные пользователям, не имеющим административных прав. Но приложениям нет необходимости размещать DLL в системных каталогах или записывать элементы в раздел реестра HKEY_LOCAL_MACHINE.

    Если необходимо использовать приложение, которое инсталлирует DLL в системном каталоге, можно попробовать два приема. Во-первых, следует попытаться переместить все файлы, записанные приложением в каталоги \winnt и \winnt\system32, в каталог приложения. После того, как я проделал эту операцию, Organizer продолжал работать. Во-вторых, можно переименовать раздел приложения в разделе HKEY_LOCAL_MACHINE\SOFTWARE (если программа установки переименовала какие-нибудь разделы) и посмотреть, будет ли приложение работать по-прежнему. Organizer не работал. Другой вариант - добавить локальную группу Authenticated Users в группу пользователей, имеющих право вносить изменения в HKEY_LOCAL_MACHINE\SOFTWARE, хотя при этом несколько понизится уровень безопасности системы. Но самое лучшее решение - известить поставщиков ПО, что вы не купите следующую версию программы, если она не будет выполнена в соответствии со спецификациями Windows 2000.

    Марк Минаси - редактор Windows NT Magazine, имеет сертификат MCSE; является автором книги "Mastering Windows NT Server 4.0" (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.

    www.osp.ru

    Создание msi-пакетов и установка любого ПО средствами групповых политик Windows. Хабрахабр

    Создание msi-пакетов и установка любого ПО средствами групповых политик Windows из песочницы tutorial

    Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.

    Введение, пара ссылок и дисклеймер

    Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, — установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.

    Интересный цикл статей по установке ПО через ГП. Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».

    Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая — чтобы получившийся msi-ник смог установиться через групповые политики.

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

    Создание и подготовка пакета

    Пример установки будет произведен для Mozilla Firefox, т. к. это широко известный продукт, не имеющий msi-инсталлятора от разработчиков.

    1. Запускаем exe to msi и указываем в нем путь к exe-установщику firefox. По ранее найденной в сети информации становится понятно, что по-тихому установить огнелиса можно с параметрами -ms -ira. Их-то и указываем во втором поле exe to msi и жмем «Build MSI».
    2. Казалось бы все, msi-пакет готов. Действительно, запустив получившийся результат мы получим установленный в системе firefox и в статье можно было бы ставить точку. К сожалению, не все так просто. Текущий пакет установки не пригоден для развертывания через GPO и при загрузке компьютера вы будете получать совершенно ничего не объясняющие ошибки в логах «произошла неисправимая ошибка. » А все дело в том, что разработчики exe to msi тоже хотят есть и их бесплатный продукт генерирует msi «не по правилам».
    3. Ну что ж, берем орку и открываем в ней наш эмсиайник.
    4. Первым делом находим в левом списке таблицу Property и обращаем внимания на два поля — ProductCode и UpgradeCode. Эти два поля должны быть уникальны для каждого продукта, а наш exe to msi генерит всегда одинаковые. Ну что ж, не беда, жмем в верхнем меню View -> Summary Information. находим поле PackageCode и жмем New GUID. Получившийся результат копируем в буфер обмена и вставляем в ProductCode. Повторяем для UpgradeCode и наконец для самого PackageCode. Тут же в Summary Information правим поле Title на Mozilla Firefox, остальное по желанию. Это, по сути, ни на что не влияет.
    5. Опять же в таблице Property меням ProductName на Mozilla Firefox (я до кучи меняю еще ARPCONTACT и Manufacturer ). Можно так же поставить правильное значение для ProductVersion .
    6. Вроде бы GUID и прочие «IDы» поменяли, но как показывает практика, этого недостаточно. Жмите в orca Tools –> Validate. снимите птицу Show INFO Messages и нажимайте Go .
    7. Как видите, вылезла куча ошибок на наличие/отсутствие некоторых таблиц и значений. Я не стал заморачиваться и просто взял первый попавшийся (7zip x64 9.20) небольшой msi и скопировал оттуда 4 недостающие таблицы (через Export-Import, естественно): _Validation, AdminExecuteSequence, AdminUISequence и AdvtExecuteSequence. На самом деле, я уверен, что можно создать «правильный» msi-инсталлятор, без лишнего мусора, но не забывайте, наша цель всего лишь запустить родной setup приложения в тихую.
    8. После добавления таблиц проходим снова Tools –> Validate (к слову, первый раз проверку можно вообще не делать и сразу импортировать таблицы). Если вы тоже взяли за основу msi от 7zip, то результатом будет шесть эрроров, которые необходимо устранить. Жмите Close. удаляйте лишние поля, отмеченные красным.
    9. В конце можно еще раз проверить валидацию и убедиться что остались лишь ничем не мешающие варнинги. Сохраняем msi.
    10. Вот в принципе и все, осталось добавить msi в ГП и назначить необходимые свойства.
    1. При установке описанным выше методом у вас появятся как бы две копии софта. Первая — собственно нужное приложение, а вторая — исходный msi-ник, ведь мы же его как бы поставили. В принципе, это ни на что не влияет, кроме как на отображение в «Установка и удаление программ», и то, только в Windows XP (если вы ничего не меняли, кроме указанного мной). Минусом может быть появление лишних программ при автоматической инвентаризации софта, если вы ее используете.
    2. Автоматически удалить приложение теми же средствами развертывания не получится. Точнее получится, но удалится только и так не нужный msi-контейнер. Ну можно повозиться со свойствами msi при его создании, чтобы оно захватывало с собой установленное ранее приложение, так же втихую. Я такой задачи не ставил.
    3. При установке обновлений ПО нужно указывать в свойствах ГП приложения, чтобы оно заменяло предыдущее, т.е обязательно предварительно удаляло старое. Это гарантирует, что у вас не будут плодиться те самые никому не сдавшиеся левые дубли приложений в «установке и удалении программ».
    4. Чтобы установить приложение, имеющее дистрибутив из нескольких файлов, вам придется сначала упаковать его в exe, который при запуске сам распакуется и даст команду для тихой установки. Рекомендую создавать sfx-архивы средствами того же 7-zip.
    5. Ничего не мешает ставить ПО через скрипты автозагрузки. Более того, такой метод более гибкий, и я давно его использую через свои скрипты. Вот только использование родных средств ГП получается намного быстрее, т. к. простое создание msi из exe занимает пару минут.
    6. Windows 7 почему-то не пишет «Установка управляемого приложения. », а просто говорит «пожалуйста, подождите». При первом развертывании всей кучи софта разом или при установке тяжелого приложения это может сподвигнуть юзера на звонок админу или нажатие кнопки резет.

    На этом вроде бы все, надеюсь было интересно, делитесь опытом.

    Краткое содержание статьи: Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO…. групповые политики, создание msi-пакета msi

    Источник: Создание msi-пакетов и установка любого ПО средствами групповых политик Windows / Хабрахабр

    Post Views: 471

    the-m-files.com



    О сайте

    Онлайн-журнал "Автобайки" - первое на постсоветском пространстве издание, призванное осветить проблемы радовых автолюбителей с привлечение экспертов в области автомобилестроения, автоюристов, автомехаников. Вопросы и пожелания о работе сайта принимаются по адресу: Онлайн-журнал "Автобайки"