Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Сборка msi пакета

Создание файлов .msi

Как подготовить старые приложения к работе с 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 или winntsystem32 (несмотря на возможность конфликтов прикладных DLL, сохраненных в этих каталогах, с библиотеками DLL операционной системы и других приложений). В-третьих, большинство приложений ассоциированы с определенными расширениями файлов и должны сохранить ряд параметров конфигурации, поэтому программа установки заносит расширение файла и параметры конфигурации в реестр. Наконец, инсталляторы приложений обычно помещают отдельный пункт в меню Start, Programs. Из этого перечня операций видно, почему программы установки так велики — им необходимо выполнять множество задач.

Администратору неудобно переносить программу установки и сопутствующие файлы на настольный ПК каждого пользователя и лично контролировать процедуру установки, ему нужен централизованный способ установки прикладных программ без вмешательства пользователя. Такой функциональностью располагает Active Directory (AD), но пользоваться файлами установки нелегко; для AD предпочтительны приложения в формате .msi. Но большинство поставщиков пока не выпускает свои продукты в .msi-формате. Поэтому, чтобы использовать AD для развертывания приложений, необходимо преобразовать большинство из них в формат .msi. WinINSTALL LE бесплатно поставляется в составе Windows 2000 Server (в папке valueadd3rdpartymgmtwinstle на компакт-диске с 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 и winntsystem32, а по умолчанию пользователи без специальных полномочий могут только просматривать файлы в этих каталогах. Во-вторых, программа Setup приложения Organizer производит запись в два раздела реестра: HKEY_LOCAL_MACHINESOFTWARE и HKEY_CURRENT_USERSoftware. Для каждой учетной записи пользователя имеется собственный раздел HKEY_CURRENT_USERSoftware, в который пользователи могут беспрепятственно вносить изменения. Но только владелец учетной записи System и члены локальной группы Administrators могут производить запись в раздел HKEY_LOCAL_MACHINE.

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

Читать еще:  Свою утилиту сборки проекта python

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

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

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

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

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

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

Поделитесь материалом с коллегами и друзьями

Сборка msi пакета

Сообщения: 301
Благодарности: 16

Профиль | Отправить PM | Цитировать

Всем доброго времени суток!

Есть программа Advansed Installer 7.7///
но я толи не понимаю, толи она не дает возможности создавать из ехе-шника.
т.е. ей надысь подпихнуть папку с программой.
Я было сначала подумал, что надысь мол ехе-шник «вскрыть» и эти файлики тудой. а нет. нифига
может кто ни будь имел дело с таким софтом?

——-
Одно дело искать сиюминутное решение, другое — искать знания.
вот и думай — что ты ищешь.

Сообщения: 6359
Благодарности: 1216

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

Сообщения: 301
Благодарности: 16

Делюсь опытом
Вобщем ежели вам надысь крутить из exe-шников msi-ки, так чтобы пакет устанавливался без участия юзверя,
а никакго платного софта вы естественно юзать не хотите.
То можно использовать две «триалки«:

Вышеупомянутый Advansed Installer 7.* (trial version) от Caphyon LTD

Exe to MSI Converter (trial version) от APREL Techologies

EXE to MSI Converter в «триале» позволяет создавать из exe пакеты msi, даже писать скрипты для автоустановки
(т.е. спец. редактором пробегаетесь по формам установки и выбираете что нуно буде жать и где чего писать).
но в режиме «триала» она прикручивает к пакету еще несколько диалоговых окон, в которых речь идет о том, что данный пакет собран незарегистрированной копией и т.д. соответственно вмешательство юзверя будет необходимо, дабы дважды кликнуть «Next«.

Advansed Installer в «триале» может просто сувать файлы в msi-пакет и максимум создавать ярлык. все-же остальные навороты доступны лишь на 30-ть дней, и при этом он ведет себя анологично EXE to MSI Converter-у, т.е. добавляет к началу пакета все те-же несколько форм «пакет собран незарегистрированной версией. бла-бла-бла»
НО. в режиме сборки пакета Enterprise, есть такая замечательная приблуда «мастер преобразований«, которая позволяет создавать «Ответное преобразование для пакета» — в файл с расширением *.mst
Когда будете это делать не обращайте внимания на ошибки вида «Неправильный строковый идентификатор». долго обяснять. просто «игнор»

Ликбез: *.mst — это файл трансформации пакетов msi, а если уж совсем близко к тексту то «Сценарий модификации Windows SDK». В нем можно описать действия в пользовательском интерфейсе установщика инкогнито, заранее. (фактически это то-же самое что и скрипт в EXE to MSI Converter, только из цеха Windows Instaler).

II. Собственно хитрость.

Так как нам требо распространять пакет по средствам GP(Групповой политики), которая поддерживает как раз эти вот msi-пакеты, да распространять так, чтобы юзверю ничего не пришлось делать.
что делаем МЫ.

1. Мы создаем в Exe to MSI Converter пакет msi для нашего exe-шничка

2. Далее в Advsnsed Instaler создем mst-шечку к этому пакету, любезно проходящей те самые формы о триальном использовании, которые внедрил EXE to MSI Converter

3. А далее, когда создаем задание на установку через GP то там, ВНИМАНИЕ!
выбираем не «назначенный«, а «особый» режим.
И далее на вкладке «Модификация» добавляем нашу mst-шечку.

ВУАЛЯ.
Вот мы и получили пакет msi из имеющегося у нас exe-шника, который без участия юзверей благополцчно установится,
абсолютно законно, и абсолютно бесплатно!

——-
Одно дело искать сиюминутное решение, другое — искать знания.
вот и думай — что ты ищешь.

Последний раз редактировалось RUVATA, 23-09-2010 в 15:38 .

Сборка msi пакета

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

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

Читать еще:  Web api frist сбора данных

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

Путь первый — взять лишнюю машину (когда это у нас машины бывают лишними?), поставить на нее систему и снять с диска образ (например при помощи утилиты 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, чтобы автоматизировать процесс инсталляции на нескольких компьютерах или уменьшить количество кликов для инсталляции некой программы.

Читать еще:  Сборка мусора c

Вы запустили свою виртуальную машину.
Теперь запускайте 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.

Сборка msi пакета

Вопрос

В качестве инсталируемого ПО будет выступать Microsoft Office XP, 2003 (или его отдельные компоненты), а также ПО третьих фирм.

Подвопрос. Знаю, что одним из методов создания msi является снятие «слепка» с опер.системы до и после установки ПО. Какой программой выполняется данный «слепок» ?

Ответы

«Слепок» — это наименее предпочтительный способ создания инсталляционных пакетов.

Дистрибутивы бывают двух типов. Основанные на Windows Installer и не основанные на нем. В первую категорию попадают не только те дистрибутивы, в которых вы явно видите файл .msi. Пример — Adobe Reader. С сайта adobe скачивается единственный файл инсталлятора (.exe-файл), но, тем не менее, установка идет с использованием Windows Installer. Сюда же, конечно, относится и Office. Дистрибутивы, устанавливающиеся с помощью Windows Installer, легко кастомизировать, и с ними возникает гораздо меньше проблем, чем с дистрибутивами второго типа. Кастомизация этого типа дистрибутивов осуществляется созданием файлов с расширением .mst, которые вместе с имеющимся .msi осуществляют установку программы с теми параметрами, которые вы зададите при создании .mst.

Дистрибутивы второго типа встречаются сейчас все реже и реже. Из распространенных можно привести, например WinAmp. Даже последняя его версия не использует Windows Installer. Для распространения таких пакетов их нужно перепаковывать. Существует два способа перепаковки (возможно, существует больше, но я знаю два). Первый способ вы назвали — это слепок. Второй — это мониторинг процесса инсталляции. То есть, на тестовой машине запускается программа для перепаковки, из под нее, в свою очередь, запускается установка WinAmp, и программа перепаковки следит за всеми изменениями в файлах, реестре и т.д., которые делает инсталлятор WinAmp’а. Такой способ занимает меньше времени, имеет меньшую вероятность попадения «левых» файлов в пакет. Хотя и при использовании этого способа рекомендуют делать пакеты с абсолютно чистой машины.

Что касается софта — я видел его немного, но упомянутый здесь AdminStudio мне лично очень понравился. Он умеет делать и .mst-файлы, и перепаковывать старые инсталляционные пакеты обоими способами, да и вообще он много чего умеет, в частности, обнаруживать потенциальные конфликты между приложениями еще до установки. Кроме того, с ним идет отличная документация, описывающая весь процесс управления развертыванием приложений «от и до».

Сборка msi пакета

Лучший отвечающий

Вопрос

  • Перемещено Abolmasov Dmitry 6 февраля 2012 г. 10:56 (От:Настольные ПК)

Ответы

Если очень не хочется ставить не Express, и если хочется делать все кодом — то можно посмотреть в сторону WiX. Правда, он тоже кривовато с экспресс работает, но его кое-как можно заинтегрировать: http://omlin.blogspot.com/2010/08/setup-visual-c-express.html

Но гораздо проще получить Standard по Dreamspark (студент же), и не заморачиваться.

  • Изменено PashaPash Moderator 26 января 2012 г. 11:39
  • Помечено в качестве ответа Abolmasov Dmitry 31 января 2012 г. 9:29

> Как можно создать .MSI инсталлер? [. ] Я использую Visual C# Express

если для работы приложения не требуется устанавливать COM-объект, устанавливать сборки в GAC и т.д., то для развертывания приложения можно использовать ClickOnce
см. Choosing a Deployment Strategy; Развертывание приложений для Windows — О технологии Clickonce;
Развертывание (Инструкции по C# Express);

  • Помечено в качестве ответа Abolmasov Dmitry 31 января 2012 г. 9:29

Все ответы

В Visual Studio есть шаблон проекта установщика, называется Setup Project. Находится он в Other Project Types — Setup and Deployment — Visual Studio Installer.

Я использую Visual C# Express 🙂 Пока только изучая C# и WPF, приучаюсь учиться делать всё кодом, а не визуальными редакторами, да и не нужны мне все возможности студии.

Если очень не хочется ставить не Express, и если хочется делать все кодом — то можно посмотреть в сторону WiX. Правда, он тоже кривовато с экспресс работает, но его кое-как можно заинтегрировать: http://omlin.blogspot.com/2010/08/setup-visual-c-express.html

Но гораздо проще получить Standard по Dreamspark (студент же), и не заморачиваться.

  • Изменено PashaPash Moderator 26 января 2012 г. 11:39
  • Помечено в качестве ответа Abolmasov Dmitry 31 января 2012 г. 9:29

> Как можно создать .MSI инсталлер? [. ] Я использую Visual C# Express

если для работы приложения не требуется устанавливать COM-объект, устанавливать сборки в GAC и т.д., то для развертывания приложения можно использовать ClickOnce
см. Choosing a Deployment Strategy; Развертывание приложений для Windows — О технологии Clickonce;
Развертывание (Инструкции по C# Express);

  • Помечено в качестве ответа Abolmasov Dmitry 31 января 2012 г. 9:29

Если очень не хочется ставить не Express, и если хочется делать все кодом — то можно посмотреть в сторону WiX. Правда, он тоже кривовато с экспресс работает, но его кое-как можно заинтегрировать: http://omlin.blogspot.com/2010/08/setup-visual-c-express.html

Но гораздо проще получить Standard по Dreamspark (студент же), и не заморачиваться.

Ссылка на основную публикацию
Adblock
detector