Для внесения изменений в существующий пакет MSIX, например для изменения свойств в манифесте или содержимого пакета без необходимости повторного упаковки установщика, можно использовать редактор пакетов в средстве упаковки MSIX.
Вы можете распаковать пакет MSIX в редакторе пакетов с помощью кнопки «распаковать» внизу. Затем можно выбрать расположение для распаковки пакета MSIX.
Страница сведений о пакете
На странице сведения о пакете можно изменить сведения о пакете с помощью полей в пользовательском интерфейсе или открыть файл манифеста MSIX вручную в редакторе по своему усмотрению, чтобы внести изменения в поля манифеста. Во время редактирования манифеста на странице редактора пакета нельзя вносить изменения. После сохранения манифеста страница реактора обновится, чтобы отразить внесенные изменения.
Можно переходить к другим разделам редактора пакетов, чтобы изменить возможности, виртуальный реестр или файлы пакета. Завершив редактирование пакета, обязательно подпишите его и обновите версию, прежде чем сохранять изменения.
Страница возможностей
На странице возможности можно добавить или удалить возможности пакета. Если возможность есть в пакете, для нее будет установлен флажок. Если выбрать возможность или отменить ее выбор, манифест будет обновлен. Это преобразуется в <> Элемент capability в манифесте MSIX.
Страница виртуального реестра
На странице виртуальный реестр отображаются все записи пакета виртуального реестра для приложения.
Щелкните правой кнопкой мыши узел в левом окне, чтобы выполнить такие операции:
Щелкните правой кнопкой мыши в левом окне, чтобы выполнить такие операции:
Страница файлов пакета
На странице файлов пакета двойной щелчок раскрывает файловую систему содержимого пакета. Например, можно использовать эту страницу, чтобы изменить значки приложений и ресурсов.
Щелкните правой кнопкой мыши папку, чтобы выполнить такие операции:
Щелкните правой кнопкой мыши файл, чтобы выполнить такие операции:
Модификация дистрибутивов на основе Windows Installer
Архив номеров / 2008 / Выпуск №8 (69) / Модификация дистрибутивов на основе Windows Installer
Рубрика: Администрирование / Продукты и решения
ИВАН КОРОБКО
Модификация дистрибутивов на основе Windows Installer
Возможность модификации дистрибутивов на основе Windows Installer всегда прельщала системных администраторов и специалистов системной поддержки. Рассмотрим один из компонентов Windows Installer Resource Kit – orca.exe. Эта утилита специально разработана для решения задач такого рода.
Решение задач автоматической установки программного обеспечения не ограничивается использованием ключей системы инсталляции Windows Installer. Получив возможность изменить пакет инсталляции, доступ к базе данных всех параметров дистрибутива, администратор может создавать пакеты для автоматической установки, не используя внешние файлы, содержащие различные настройки.
Уделим внимание программному управлению базой данных, хранящейся в msi-файлах.
Это сервис установки и конфигурирования программных продуктов, который входит в состав операционной системы. Также он может устанавливаться как пакет обновления или отдельный дистрибутив.
В настоящее время используется Windows Installer 4.5, который можно бесплатно загрузить с сайта Microsoft в виде заплатки (hotfix) KB842288 – http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe.
Windows Installer, как и любое другое быстрое исправление, поддерживает ряд ключей командной строки, обеспечивающих управление автоматической установкой пакета:
Двойным щелчком мыши по файлу с расширением *.msi осуществляется запуск утилиты:
%SystemRoot%System32msiexec.exe /i *.msi
В таблице 1 приведен список часто используемых параметров командной строки, обеспечивающих автоматическую установку приложения.
Таблица 1. Параметры командной строки msiexec.exe
Установка приложения в обычном режиме
Переустановка приложения. Если задан только ключ /f, то имеется в виду команда /fpecsm:
p – восстановление удаленных файлов;
о – обновление до более новой версии;
e – полная переустановка приложения той же версии;
d – восстановление удаленных файлов и перезапись файлов более старой версии;
c – восстановление удаленных файлов или перезапись файлов, если CRC (контрольная сумма) установленных файлов не совпадает с CRC файлов в дистрибутиве;
а – переустановка всех файлов;
u – перезапись всех ключей реестра, касающихся данного приложения в ветвях HCKU, HCU;
m – перезапись всех ключей реестра, касающихся данного приложения в ветви HCLM;
s – перезапись всех ярлыков
Выполнение административной установки приложения
Управление публикацией программного продукта:
u – публикация для текущего пользователя;
m – публикация для всех пользователей;
g – идентификатор языка (управление установкой языкового интерфейса)
Определение уровня пользовательского интерфейса во время установки:
n – отсутствие интерфейса;
b – базовый интерфейс (по умолчанию);
r – сокращенный интерфейс;
f – полный пользовательский интерфейс
Обычно для установки приложения в автоматическом режиме используют команду:
%SystemRoot%System32msiexec.exe /fa /qn /jm *.msi
где *.msi – полный путь к файлу с расширением MSI, например:
Пакет утилит, который можно загрузить бесплатно с сайта компании Microsoft, по адресу – http://download.microsoft.com/download/7/c/4/7c426dfc-46e2-4ded-bab4-3b33600ad7d1/msi45sdk.msi, используется для различного рода манипуляций с MSI-файлами.
По умолчанию каталог установки пакета Windows Installer SDK –%ProgramFiles%Windows Installer 4.5 SDK.
В его комплекте несколько утилит, в том числе дистрибутив программы ORC, расположенный в папке Tools.
Программа orca.exe, дистрибутив которой находится в папке %ProgramFiles%Windows Installer 4.5 SDKTools, предназначена для модификации *.msi-файлов. С помощью этой утилиты можно не только управлять устанавливаемыми компонентами, но и указать серийный номер продукта, изменить выводимые сообщения и др.
Установка orca.exe осуществляется в папку %:ProgramFiles%Orca запуском файла orca.msi.
Запуск программы осуществляется через «Пуск > Программы > orca.exe» (см. рис. 1). После успешного запуска приложения необходимо открыть msi-файл, который необходимо модифицировать. В данном случае в качестве опытного образца использовать дистрибутив AcdSee10 – файл ACDSee 10 Photo Manager.msi, находящийся в каталоге c:ACDSee.
Рисунок 1. Внешний вид утилиты orca.exe
Замечание: дистрибутив ACDSee 10 представляет собой *.ехе-файл – архив, который при запуске распаковывает msi-файл в папке C:Documents and Settings\%username%Local SettingsApplication DataDownloaded Installations<0051E50E-CECD-4E04-A71A-B8C49733542A>ACDSee 10 Photo Manager.msi. Именно этот файл необходимо открыть утилитой orca.exe.
Orca.exe рассматривает msi-файл как SQL-базу данных, где msi-файл – это база данных, левая колонка таблицы (см. рис. 2), в которой хранятся различные настройки и списки. Правая часть – список полей выбранной таблицы с соответствующими значениями.
Рисунок 2. Создание новых полей в таблице
В базе данных пакета среди множества таблиц, которые можно объединить в группы, выделим самые важные из них:
К базовым таблицам относят таблицы, описывающие параметры работы инсталлятора, устанавливаемые компоненты. Группа состоит из 11 связанных таблиц, краткое описание которых приведено в таблице 2.
Таблица 2. Базовые таблицы MSI Installer
Содержит список всех функций программного продукта
Содержит описание условий, определяющих порядок установки каждой функции, описанной в таблице
Связывает функции с компонентами
Содержит список всех компонентов приложения
Содержит список всех каталогов, необходимых для инсталляции
Содержит список функций и компонентов, публикуемых для использования в других приложениях
Содержит информацию, необходимую для установки приложений COM+
Содержит информацию для значительных обновлений программного продукта
Эта группа таблиц содержит информацию обо всех файлах, входящих в комплект поставки программного продукта. Большая часть этих файлов перечислена в таблице File. Хотя таблица Directory не входит в эту группу, она тесно связана с ней, так как отражает структуру каталогов приложения. В таблице 3 приведен список файловых таблиц и их краткое описание.
Таблица 3. Файловые таблицы MSI Installer
Представляет собой список файлов, которые будут распакованы в ходе инсталляции. Эта таблица связана с таблицей Directory, в которой зафиксирована структура каталогов устанавливаемого приложения и таблица Component, с помощью которой обеспечивается связь с компонентами
Содержит список файлов, которые необходимо удалить при выполнении операции RemoveFiles
Включает в себя список шрифтов, которые необходимо зарегистрировать в операционной системе
Содержит список саморегистрирующихся модулей. Installer не регистрирует EXE-файлы
В таблице описывается набор дисков инсталляции
Содержит информацию о привязках исполняемых файлов или DLL
Содержит список файлов, которые необходимо перенести во время инсталляции из исходного каталога в заданный каталог
Содержит список дублируемых файлов либо в другой каталог с тем же именем, что и исходный файл, либо в тот же каталог, но с другим именем
Используется для задания переменных окружения
Хранит файлы иконок. Каждая иконка этой таблицы во время инсталляции копируется в отдельный файл на диске
Эта таблица хранит 128-разрядное хэш-значение для исходных файлов в пакете инсталляции
Таблицы информации о программе
Таблицы этой группы содержат важную информацию о пакете инсталляции, используемую на протяжении всего процесса инсталляции. В таблице 4 приведена информация о назначении таблиц.
Таблица 4. Файловые таблицы программы
Хранятся все свойства пакета инсталляции
Содержатся двоичные данные для иконок, растров и т. п. Также здесь хранятся данные для пользовательских операций
Используется для поиска шаблонов форматирования при обработке ошибок. Installer имеет свой собственный механизм обработки ошибок
Здесь хранится вся информация, необходимая для создания файловых ярлыков
Эта таблица содержит информацию о необходимом дисковом пространстве для каждого компонента приложения
Доступ к msi-файлам программным способом
Для обеспечения программного управления базой данных, хранящейся в msi-файле, используется шаблон, приведенный в листинге 1. Необходимо отметить, что шаблон чтения данных отличается от шаблона коррекции данных. О нем будет рассказано отдельно.
Листинг 1. Шаблон доступа к базе в msi-файле
Set obj = CreateObject («WindowsInstaller.Installer»)
Set base = obj.OpenDatabase (MSI,Mode)
В приведенном шаблоне в первой строке осуществляется подключение к COM-объекту, с помощью которого осуществляется доступ к базе данных.
На следующей строке осуществляется подключение к базе данных с помощью метода OpenDatabase, который имеет два аргумента. Первый из них – имя базы, которым является полный путь к msi-файлу. Второй – режим доступа к базе данных:
На третьей – реализовано выполнение задаваемого запроса. SQL-запрос задается с помощью метода OpenView, а выполнение запроса – с помощью метода Execute.
Напомним, что в SQL-запросе регистр названия полей и имен таблиц имеет значение.
В последней строке осуществляется запись сделанных изменений в базе с помощью команды Commit.
Работа с таблицами в orca.exe
Рассмотрим подробнее структуру таблиц, содержащихся в msi-файле. Orca – мини-редактор SQL-таблиц, хранящихся как составная часть дистрибутива.
С полями таблиц баз можно совершать следующие действия:
Чтение существующих полей
Для реализации шаблона поиска используется шаблон (см. листинг 2), отличный от приведенного в листинге 1. Это объясняется тем, что запись, удаление, замена осуществляются у единичного поля, а вывод на экран осуществляется для всех полей.
Трансформация листинга осуществляется в третьей строке листинга 1. Она разбивается на две подстроки – это строки 3 и 4 в листинге 2. Здесь разносятся методы OpenView и Execute.
Далее осуществляется чтение массива строк. Обратите внимание на то, что в запросе SELECT поля могут быть перечислены только по именам. Значение «*» в данном случае не работает. А во время чтения данных необходимо указывать нумерацию полей (Record.StringData(1)), начиная с единицы (1).
В листинге 2 приведен пример чтения всех полей (Property, Value) таблицы Property файла ACDSee 10 Photo Manager.msi:
Листинг 2. Чтение полей в указанной таблице
Set obj = CreateObject(«WindowsInstaller.Installer»)
Set ob = obj.OpenDatabase («C:ACDSeeACDSee 10 Photo Manager.msi»,0)
set View=ob.OpenView(«SELECT Property, Value FROM Property»)
Аналогичную операцию можно выполнить программным способом (см. листинг 3). Для этого необходимо вызвать объект WindowsInstaller.Installer. На основе шаблона, приведенного в листинге 1, сформируем листинг 3. В качестве второго параметра метода OpenDatabase необходимо указать 1, поскольку выполняется операция записи данных.
Самым сложным в данном листинге правильно сформировать запрос. Особенность запроса INSERT INFO заключается в том, что в первых по счету скобках, в которых указывается название полей, имя поля должно быть задано с родителем. Все имена параметров в запросе указываются без кавычек; все присваиваемые значения – в кавычках и, наконец, названия полей и таблиц чувствительны к регистру.
Листинг 3. Создание нового атрибута в таблице
Set a = CreateObject(«WindowsInstaller.Installer»)
Set b = a.OpenDatabase («C:acdseeACDSee 10 Photo Manager.msi»,1)
Удаление какого-либо поля осуществляется в соответствии со следующим алгоритмом:
Эту же задачу можно решить программным способом (см. листинг 4), используя шаблон 1. Для обеспечения возможности записи в таблице необходимо установить второй параметр метода OpenDatabase равным единице (1).
Листинг 4. Удаление существующего атрибута в таблице
Set a = CreateObject(«WindowsInstaller.Installer»)
Set b = a.OpenDatabase («C:acdseeACDSee 10 Photo Manager.msi»,1)
b.OpenView(«DELETE FROM Property WHERE «PIDKEY»=»1234567890″)»).Execute
Изменение значений существующих полей
Изменение значения осуществляется путем установки курсора в необходимую ячейку двойным щелчком левой кнопки мыши (см. рис. 3).
Программное изменение свойства осуществляется по тем же правилам. По сравнению с предыдущими двумя случаями, изменяется только запрос.
В листинге 5 осуществляется отключение компонента Device Detector.
Листинг 5. Изменение значений существующих полей таблицы
Создание msi-пакетов и установка любого ПО средствами групповых политик Windows
Доброго времени суток, Хабр! Хочу представить интересный, по моему мнению, способ создания msi-инсталляторов для любого программного обеспечения и, как следствие, развертывание его средствами GPO. Подчеркну, что описанный метод не подразумевает создание «слепков» системы, а использует нативные инсталляторы софта, при чем для создания msi применяются только бесплатные для коммерческого использования продукты.
Введение, пара ссылок и дисклеймер
Каждый нормальный инсталлятор ПО имеет возможность автоматической установки с определенными или заложенными по умолчанию параметрами. Суть моего метода проста и заключается в том, чтобы запаковать нативный инсталлятор в «контейнер» msi и запустить его с необходимыми параметрами командной строки. В сети куча информации по автоматической установке того или иного приложения, и я не буду заострять на этом внимание. Наша цель, повторюсь, — установка ПО средствами групповых политик. Кстати, некоторые из вас могут возразить, что установку можно производить через ZAW, но, к сожалению, данный метод применим только для установки с правами текущего пользователя и не может применяться для централизованной автоматической установки приложений.
Интересный цикл статей по установке ПО через ГП. Для новичков рекомендую прочитать все, чтобы потом не спрашивать, чем отличается тип установки «назначенный» от «публичный».
Необходимый софт. Exe to MSI Converter freeware и всем известная orca Первый нужен для того, чтобы создать msi из exe, а вторая — чтобы получившийся msi-ник смог установиться через групповые политики.
Метод не претендует на полную уникальность и в некоторых местах могут встречаться излишества, которых можно было бы избежать, но это связанно отсутствием желания и необходимости слишком глубоко вникать в параметры таблиц msi-пакетов. Первоначальной целью ставилось быстро найти бесплатный способ создания msi и после нескольких часов, проведенных в чтении зарубежных форумов и бесконечных перезагрузках виртуальной машины, метод был найден. Также, статья — это не обзор интерфейса программ, и скриншотов вы не увидите.
Для решения этого вопроса есть несколько программ для конвертации exe to msi, но они, практически все, платные или требуют танцев с бубном.
Мы геройствовать не будем и поищем легкий путь.))
Первый способ:
На просторах интернета мне попалась бесплатная утилита Free Msi Wrapper (http://legacy.averbouch.biz/fr/free-msi-wrapper/). (Ссылка недавно перестала работать, в конце статьи есть ссылка на скачивание с Яндекс-Диска).
Утилита имеет простой и интуитивно понятный интерфейс
В поле Source Folder укажите папку с exe-файлом, который нужно конвертировать в msi, в поле Target Path укажите папку по умолчанию, в которую будет предлагать устанавливаться создаваемый msi. Укажите имя пакета msi в поле Software Name и отметьте нужные галки в верхней части окна программы. После этого нажмите кнопку Build msi, укажите папку для сохранения готового msi и дождитесь окончания работы программы.
Редактирование пакетов MSI может занимать до 70% времени упаковки приложений. Редактор MSI значительно сокращает это время, упрощая и оптимизируя большинство тривиальных и рутинных операций редактирования.
Новый уровень легкости в процессе редактирования MSI
MSI Editor предлагает уникальные функции (фильтрация строк, расширенный поиск, отмена и повтор, редактирование Intellisense, активные сценарии и т. Д.), Которые делают редактирование базы данных MSI менее трудоемким и более продуктивным.
Расширенная автоматизация и настройка
Автоматизируйте сложное рутинное редактирование, запустив предопределенные сценарии. Кроме того, вы можете легко объединить ваши пользовательские скрипты в MSI Editor. Кроме того, нет никаких ограничений в расширении возможностей расширения MSI Editor с помощью доступного подключаемого интерфейса.
Название
Редактор MSI
Версия
3.4.1
Разработчик
Infopulse
Домашняя страница продукта
Редактор MSI
Лицензия
Бесплатно попробовать (Shareware)
Загрузки прошлой недели
12
Все время загрузки
1171
Имя файла
PACE_v3.4.1.msi
Размер файла
38.6MB
Контрольная сумма MD5
D6569C5B2B120D941FB0DDE31643F413
Поддержка ОС
Windows All
Категория
Инструменты разработчика
Похожие программы
MSI Afterburner 4.6.0 Build 14820
ПО для разгона графических карт MSI.
MSI Drivers Update Utility 3.3
Программа, которая поможет вам обновить драйверы для ваших устройств MSI.
Recover Deleted Text Messages 5.4.1.2
Мощный инструмент, который будет получать потерянные текстовые сообщения с вашей SIM-карты.
MOBILedit!! Forensic 9.3.0.23657
Полезный инструмент для полного извлечения данных с SIM-карт и телефонов.
Advanced Installer Professional 12.2.1 Build 64247
Инструмент, который позволит вам легко создавать установщики MSI.
Профессиональный считыватель штрих-кодов 1D и 2D и библиотека для создания штрих-кодов.
NAPS2 (Not Another PDF Scanner) 6.0.3 Beta
Инструмент, который позволит вам легко сканировать PDF и многие другие типы файлов.