Обзор
В этой статье мы рассмотрим 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
.