Подготовка к созданию пакета

Настройка окружения

Установка программного обеспечения сильно зависит от окружения, в котором она выполняется. Существует ряд факторов, влияющих на успешность установки:

  • Совместимость с операционной системой (версия системы, разрядность, установленный пакет обновлений) – актуальна прежде всего во время выбора версии программы для создания пакета. Например, с определенной версии программа может перестать поддерживать старую версию ОС. Также, зачастую у программы доступна версия как для 32-битных операционных систем, так и для 64-битных. Установщик может содержать в себе обе версии программы, либо только одну – в таком случае, при необходимости, нужно работать с двумя установщиками.

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

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

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

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

  • Требования наличия установленных библиотек (.NET Framework, Visual C++ Redistributable и т.д.) – часть программ во время установки проверяют наличие определенных дополнительных библиотек и завершаются с ошибкой, если библиотеки не установлены. Поэтому перед созданием пакета развертывания необходимо учитывать, что некоторые необходимые библиотеки могут быть не установлены на удаленном компьютере, и обеспечить их наличие.

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

Контекст установки

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

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

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

  • Уровень пользователя предназначен для установки программы текущему пользователю. Для корректной установки в данном случае установщику требуется окружение этого пользователя. Иногда этого недостаточно, и установщик необходимо запускать от имени пользователя, для которого выполняется установка. Если же запустить такую установку от имени администратора сети, то могут быть проблемы с установкой ПО для локального пользователя: несозданные на рабочем столе ярлыки, ошибки установщика в процессе развертывания или ошибки программы после установки.

    В силу перечисленных выше ограничений, при развертывании использовать установку на уровне пользователя не рекомендуется. Microsoft также рекомендует не производить установки на уровне пользователя, чтобы администратор потом имел возможность деинсталлировать программу удаленно (это применимо и к TSD).
  • TSD поддерживает еще один контекст установки – Администратор. Его необходимо выбирать только для выполнения скриптов, которым требуются привилегии администратора сети (например, доступ к сетевому ресурсу). Интерпретатор команд будет запущен от имени пользователя, с правами которого было осуществлено соединение с этим компьютером.

    Мы настоятельно не рекомендуем использовать контекст установки Администратор для развертывания обычных программ, так как это может привести к установке программы для этого администратора вместо локального пользователя, либо к другим ошибкам установки.

 

Total Software Deployment

Удаленная установка программного обеспечения в корпоративной сети.