Подготовка установщиков, подходящих для развертывания Microsoft System Center

Обновление: 24 марта 2011 г.: Просто хотел добавить, что я посмотрел на WIX сейчас, и он выглядит великолепно, теперь я очень ясно вижу, как сделать красивый гладкий установщик на основе MSI, который должен делать все, что нам нужно. . Большое спасибо за помощь, очень признателен.

Мы развертываем продукт, который имеет как серверную, так и клиентскую части. В настоящее время клиент представляет собой приложение VB6 (да, да, я знаю...), и оно использует программу установки InstallShield для создания EXE-файла, который мы даем клиенту для развертывания на всех своих рабочих станциях.

Это все хорошо и денди, когда их десять, но когда их 100, они, понятно, становятся немного сварливыми :)

Некоторые из наших клиентов используют Microsoft System Center для автоматизации развертывания своего программного обеспечения, и они попросили нас сделать наш клиент совместимым с этим, чтобы они могли выполнять развертывание автоматически.

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

По сути, что мне нужно сделать, чтобы иметь установщик, который подходит для автоматического развертывания через Microsoft System Center?

Я думаю, что уже выяснил, что это должен быть EXE, MSI или MSP.

Как я уже сказал, наш текущий установщик представляет собой EXE-файл, однако он имеет довольно стандартный мастер установки, который выводит графические элементы и просит пользователя несколько раз щелкнуть «Далее». Это вызывает проблему? Или он должен просто работать? Или это случай настройки сценария InstalAnywhere, чтобы сделать его полностью автоматизированным (пользовательский интерфейс на самом деле не должен быть там)?

Я должен добавить, что на самом деле я не знаю, пробовал ли кто-нибудь это, и был ли вопрос клиента просто «дайте мне знать, будет ли это работать» или они пробовали это, и это не работает ... Я вероятно, сильно склоняюсь к последнему, потому что я знаю, что на одном сайте у них есть что-то похожее на знающих ИТ-специалистов, которые стремятся просто попробовать что-то и посмотреть, что произойдет, а не постоянно ждать одобрения и т. д.

Напоследок кое-что вылетело из головы...

Приложение написано на VB6. InstallShield довольно старый, в настоящее время я узнаю номер версии и обновлю билет по мере необходимости. Целевыми платформами являются клиенты Windows, в настоящее время официально до XP, но они нормально работают в Windows 7 и Vista.

Я рад использовать совершенно другой установщик, если это лучший ответ, мы вообще не привязаны к InstallShield, он действительно существует только для устаревших версий.

Пожалуйста, дайте мне знать, если я могу предоставить более подробную информацию!

Мэтт.


person Matt Peddlesden    schedule 16.03.2011    source источник


Ответы (1)


Этот вопрос очень широк, поэтому я не могу дать один ответ. По сути, я провел 15 лет опыта написания установщиков, и 2 из этих лет был на другой стороне дома в Continental Airlines (лес AD на 18 000 мест), получая установщиков от таких компаний, как ваша.

Наша цель состояла в том, чтобы иметь возможность автоматически предоставлять и обслуживать программное обеспечение через SMS. В идеале мы предпочитаем получать файлы MSI, поскольку они представлены в стандартизированном формате и настраиваются с помощью преобразований. Когда мы получали пакеты, отличные от MSI, мы обычно «переупаковывали» их в формат MSI. Это процесс, в котором пакет проходит через инструменты для создания моментальных снимков/захвата, и все это подвергается реинжинирингу и рефакторингу в MSI.

Но мы не всегда так делали. В (редком) случае мы получали EXE-файл более высокого качества, чем средний, который был «достаточно хорош». Цели ясны: мы должны иметь возможность устанавливать и удалять EXE из командной строки без участия человека. Мы также должны иметь возможность записывать любые параметры конфигурации, такие как имя сервера базы данных.

Если бы мы могли делать эти вещи и последствия казались низким риском, мы бы приняли это как есть. В противном случае мы занимались своими делами, беря это на себя.

Иногда я создавал установщик, который был настолько чистым, что я думал: «Чувак, я бы хотел, чтобы компания ABC Software сделала это сама». (Конечно, у меня не было бы работы…) или «Я бы хотел, чтобы мы могли сотрудничать с ABC, чтобы предоставить им эту установку, чтобы все остальные могли разделить преимущества».

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

Мне было очень приятно работать в Continental, и теперь я уверен, что установки всех моих компаний не причинят такой боли их клиентам.

person Christopher Painter    schedule 16.03.2011
comment
Отличный ответ, большое спасибо, я убираю это из того, что вы сказали: - person Matt Peddlesden; 16.03.2011
comment
Ой, нажал Enter :) - Я убираю это из того, что вы сказали: 1. Сделайте его MSI. 2. Сделать его запускаемым из командной строки, без графического интерфейса и без вопросов. Если это так, то он должен без проблем зайти в System Center. Еще раз спасибо Кристофер! - person Matt Peddlesden; 16.03.2011
comment
В MSI все еще есть вещи, которые вы делаете плохо, поэтому обязательно ознакомьтесь с лучшими практиками MSI. Сделайте автоматическое развертывание из командной строки частью вашего тестового потока в различных сценариях. - person Christopher Painter; 16.03.2011
comment
Windows никогда не догонит такие системы в управлении пакетами или devops. - person Anthony Mastrean; 12.10.2011