Справочный материал

adminstall.cfg

Описаны назначение и формат файла adminstall.cfg в BAS для ОС Windows, а также режимы установки через logon-скрипт и групповые политики. Приведен пример скрипта административной установки программы.

Файл конфигурации в центре направляет управляемую установку программы на рабочие компьютеры через вход в домен и групповые политики.

Примечание

Применяется только в случае работы программы под управлением ОС Windows.

Файл adminstall.cfg указывает, что установка программы выполнялась с применением средств администрирования ОС Windows. Файл размещается в каталоге файлов конфигурации программы и является текстовым документом в кодировке UTF-8.

Файл может содержать только одну строку, которая определяет вариант установки:

AdmInstall=<Mode>

<Mode>

Описывает режим установки:

  • Logon – установка выполнена с помощью logon-скрипта при входе пользователя в домен;
  • Restart – установка выполнена с помощью групповых политик.

Ниже приведен пример скрипта установки, который можно использовать для установки программы с помощью административных средств ОС Windows.

Option Explicit
'Изменять интерфейс пользователя
Const msiUILevelNoChange = 0
'Использовать заданный по умолчанию интерфейс пользователя 
Const msiUILevelDefault = 1
'Не отображать интерфейс пользователя (фоновая установка)
Const msiUILevelNone = 2
'Только индикатор прогресса и отображение ошибок 
Const msiUILevelBasic = 3
'Интерфейс пользователя без предварительных сообщений 
Const msiUILevelReduced = 4
'Полный интерфейс пользователя 
Const msiUILevelFull = 5
'Если используется с msiUILevelBasic, то отображается индикатор
'прогресса без кнопки Cancel
Const msiUILevelHideCancel = 32
'Если используется с msiUILevelBasic, то отображается индикатор
'прогресса без отображения каких-либо диалогов, в том числе и ошибок.
Const msiUILevelProgressOnly = 64
'Если используется с любым из перечисленных значений, установщик
'выводит сообщение в конце установки об итоговом результате.
Const msiUILevelEndDialog = 128
'***** Необходимо изменить на реальный каталог установки
Const DistrFolder="\\Server\BASDistr\"
Const shortcutName = "Запуск BAF"
Dim shortcutTarget : shortcutTarget = DistrFolder & "1cestart.exe"
'Константы для определения действия
' требуется установка 
Const requiredInstall = 1
' требуется удаление
Const requiredUninstall = 0
'Значение параметра ProductCode из файла setup.ini ...
'... для удаляемой версии
Const unInstallUID="{9173B91C-FF56-4F25-82D1-7F68244044CD}"
'... для устанавливаемой версии
Const InstallUID="{0BC98727-04AD-470F-9EEE-0162C543833F}"
'процедура установки или удаления указанной версии продукта
Sub installOrUninstall (ByVal productCode, ByVal msiPackage, ByVal mstTransform, ByVal requiredAction)
'productCode – Информация о коде продукта. Находится в файле
'                            setup.ini, ключ ProductCode
'msiPackage – Установочный пакет BAF 
'mstTransform – файл языкового преобразования для установщика
'requiredAction – необходимое действие requiredInstall или 
'                            requiredUninstall
'Переменная для формирования дополнительных
' параметров установщику
    Dim cmdLine
    On Error Resume Next
    Dim installer, session
    Set installer = Nothing
    Set session = Nothing
    Set installer = Wscript.CreateObject("WindowsInstaller.Installer") : processError
    installer.UILevel = msiUILevelBasic 'msiUILevelNone 'или указать другой вариант интерфейса пользователя
    'проверка установки продукта
    Set session = installer.OpenProduct(productCode) 
    If session Is Nothing AND requiredAction = requiredInstall Then
        'продукт не установлен, и требуется его установка
        cmdLine = "TRANSFORMS=adminstallrelogon.mst;" 
        If Not mstTransform Is Empty Then
'добавим указание установщику работать на указанном языке
            cmdLine = cmdLine & mstTransform
'можно дополнительно указать, какие компоненты необходимо установить
            'cmdLine = cmdLine & " DESIGNERALLCLIENTS=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 SERVERCLIENT=1 LANGUAGES=UK"
        End If
'установим Framework
        Set session = installer.InstallProduct(msiPackage, cmdLine) : processError
'создадим ярлык на рабочем столе
        createShurtcut() 
    ElseIf Not session Is Nothing AND requiredAction = requiredUninstall Then
'платформа уже установлена, и требуется ее удаление
'объект session может быть только один! 
        Set session = Nothing
'укажем, что необходимо удалить с компьютера пользователя эту версию
        cmdLine = "REMOVE=ALL"
        'удалим
        Set session = installer.InstallProduct(msiPackage, cmdLine) : processError
    End If
    Set session = Nothing
    Set installer = Nothing
End Sub
 
'обработка ошибок
Sub processError
    Dim msg
    If Err = 0 Then Exit Sub
    msg = Err.Source & " " & Hex(Err) & ": " & Err.Description
    Wscript.Echo msg
    Wscript.Quit 2
End Sub
'создание ярлыка
Sub createShurtcut
    Dim WshShell, oShellLink 
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Dim strDesktop : strDesktop = WshShell.SpecialFolders("Desktop")
    Set oShellLink = WshShell.CreateShortcut(strDesktop & "\" & shortcutName & ".lnk")
    oShellLink.TargetPath = shortcutTarget
    oShellLink.WindowStyle = 1
    oShellLink.Description = shortcutName
    oShellLink.Save 
    Set oShellLink = Nothing
    Set WshShell = Nothing
End Sub
'удалим версию 260
installOrUninstall unInstallUID, DistrFolder + "8.3.13.260\setup\BAF.msi", "1058.mst", requiredUninstall
'установим версию 356
installOrUninstall InstallUID, DistrFolder + "8.3.13.356\setup\BAF.msi", "1058.mst", requiredInstall
Записаться по телефону