Обзор
В этой статье мы рассмотрим PowerShell скрипт, который автоматизирует установку и настройку платформы 1С. Скрипт позволяет быстро и безошибочно установить необходимые компоненты и настроить параметры, указанные в конфигурационном файле.
Основные функции скрипта
- Проверка конфигурационного файла и среды выполнения.
- Проверка текущей установленной версии платформы 1С.
- Установка или пропуск установки в зависимости от установленной версии.
- Копирование необходимых конфигурационных файлов (например,
hasp.ini). - Регистрация компонента
comcntr.dll.
Требования
- Операционная система Windows.
- PowerShell версии 5.1 или выше.
- Права администратора.
Шаги установки
- Убедитесь, что конфигурационный файл (
PlatformInstall.ini) доступен. - Сохраните скрипт и конфигурационный файл в безопасную директорию.
- Запустите скрипт с правами администратора:PowerShell
.\PlatformInstall.ps1
Конфигурационный файл (PlatformInstall.ini)
Скрипт использует конфигурационный файл для определения параметров установки. Пример конфигурации: INI
[INSTALL]DistrDir=\\Server\Scripts\bin\
ProductCode={B26B9BD7-DA36-6A6B-9729-A559619283F6}
ProductVersion=8.3.25.1445UpgradeCode={76AA2121-1E8C-4993-B980-49916CA2387C}
MsiPackage=1CEnterprise 8 (x86-64).msi
MsiOptions=THICKCLIENT=1 THINCLIENT=1 WEBSERVER=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU
HaspIni=\\Server\Scripts\nethasp.ini
Обязательные поля
DistrDir: Директория, содержащая установочные файлы.ProductCode: GUID продукта.ProductVersion: Версия платформы для установки.MsiPackage: Название MSI пакета.MsiOptions: Опции, передаваемые MSI установщику.HaspIni: Путь к файлуhasp.ini.
Особенности скрипта
Логирование
Скрипт записывает сообщения со следующими уровнями:
- INFO: Общий прогресс и шаги.
- ERROR: Проблемы, вызывающие завершение скрипта.
Основные функции
Log-Event: Записывает сообщения с указанным уровнем.Catch-Error: Обрабатывает и записывает ошибки, затем завершает скрипт.Get-IniContent: Анализирует конфигурационный файл и возвращает его содержимое в виде словаря.Get-InstalledVersion: Получает текущую установленную версию платформы 1С из реестра Windows.Copy-HaspIni: Копирует файлhasp.iniв соответствующую директорию (C:\Program Files\1cv8\confили эквивалент).Register-ComCntrDll: Регистрирует файлcomcntr.dllиз директорииbinустановленной платформы.
Последовательность выполнения
- Скрипт читает и проверяет конфигурационный файл.
- Проверяет установленную версию платформы:
- Если установленная версия новее или равна целевой версии, скрипт пропускает установку.
- В противном случае продолжает установку.
- Скрипт устанавливает MSI пакет, используя параметры, указанные в конфигурационном файле.
- Копирует файл
hasp.iniв требуемую директорию. - Скрипт регистрирует компонент
comcntr.dll.
Примеры использования
Запустите скрипт или разместите в групповой политике на событие Startup для установки или обновления платформы:
.\PlatformInstall.ps1

Устранение неполадок
- Конфигурационный файл не найден: Убедитесь, что путь к
PlatformInstall.iniправильный. - HASP.INI не найден: Проверьте, существует ли файл по указанному пути.
- Не удалось зарегистрировать DLL: Убедитесь, что файл
comcntr.dllсуществует в директорииbin.