Данный проект - .msi пакет для развёртывания в рамках домена продукта АИС Метроконтроль версии 2.3.
Для внесения изменений в пакет и повторной сборки пакета потребуются следующие продукты:
- Microsoft Visual Studio 2012:
- MS Visual Studio 2012 Shell Isolated
- MS Visual Studio 2012 Shell Integrated
- MS Visual Studio 2012 Express. Достаточно данного продукта вместо предыдущих, но предыдущих будет достаточно, если не требуется корректировка кода загрузчика.
- Windows Installer XML Toolset - WIX
Установить необходимо все пакеты в указанном порядке. В результате - получае MS Visual Studio 2012 с подготовленными
шаблонами проектов WiX. После этого открываем файл решения Metrocontrol\Metrocontrol.sln
и собираем решение.
В папке Metrocontrol\bin\Admin image\x86\ru-RU
собран проект, подготовленный к роли административной точки установки.
В нём отсутствует интерфейс пользователя.
В папке Metrocontrol\bin\Single .msi file\x86\ru-RU
собран .msi пакет в виде единого файла.
В отличии от предыдущего варианта, в данной редакции присутствует интерфейс пользователя,
позволяющий изменить и состав продукта, и папку его установки.
При подготовке административной точки установки доступны к изменении нижеописанные свойства.
По умолчанию - "1"
. При установке "0"
регистрация будет осуществлена в реестре пользователя, а не в реестре компьютера.
По умолчанию - "No"
. При установке значения "Yes"
при установке не будут опубликованы ярлыки.
Данным свойством следует воспользоваться, если Вы планируете запускать приложения АИС Метроконтроль через ярлыки на
.csmdb23
файлы (о данных дополнительных возможностях пакета читайте далее).
По умолчанию - "No"
. При установке значения "Yes"
при установке не будут опубликованы ярлыки на рабочем столе.
При DISABLESHORTCUTS="Yes"
значение данного свойства роли не играет.
По умолчанию - "No"
. При установке значения "Yes"
при установке не будут опубликованы ярлыки в меню.
При DISABLESHORTCUTS="Yes"
значение данного свойства роли не играет.
По умолчанию - "Yes"
. При установке значения "Yes"
при установке не будут опубликованы ярлык на АИС Метроконтроль
в меню автозагрузки. При DISABLESHORTCUTS="Yes"
значение данного свойства роли не играет.
Путь к папке, в которую будет установлен программный продукт. По умолчанию - %ProgramFiles(x86)%\РЦН\Метроконтроль\2.3%
.
Устанавливать в качестве значения данного свойства требуется только путь по отношению к %ProgramFiles%
.
По умолчанию - "100"
. По умолчнию будут установлены только приложения "АИС Метроконтроль" и "Учёт клейм".
При установке INSTALLLEVEL
больше 200 будет установлено и приложение "Метроконтроль - администратор".
Для управления установкой приложений при подготовке административной точки установки следует воспользоваться
свойством ADDDEFAULT
, перечислив приложения через запятую. Идентификаторы приложений:
csmmain
- собственно "АИС Метроконтроль";markinv
- приложение "Учёт клейм";csmadmin
- приложение "Метроконтроль - администратор".
Например, если при подготовке административной точки установки указано ADDDEFAULT=csmadmin
,
то подготовленная точка установки без дополнительных трансформаций подзволит установить только
приложение "Метроконтроль - администратор".
Несколько примеров подготовки административной точки установки:
msiexec -a Metrcontrol.msi DISABLEDESKTOPSHORTCUTS=Yes ALLUSERS=0 ADDDEFAULT=csmmain
Данная командная строка готовит точку установки с "отключенными" ярлыками рабочего стола, с установкой приложения для пользователя (а не для компьютера). Из приложений при этом будет установлена только АИС Метроконтроль.
msiexec -a Metrcontrol.msi DISABLESHORTCUTS=Yes ADDDEFAULT=csmmain,makrinv,csmadmin
Данная командная строка готовит точку установки с "отключенными" ярлыками. Приложения будут установлены все.
В некоторых случаях необходима возможность подключаться к нескольким базам данных. При этом явно не стоит заставлять каждый раз
вводить параметры подключения к БД. Для решения данной задачи в данном пакете регистрируется новый тип файла .csmdb23
и
ProgId RCN.Bootstrapper.2.3
.
Файлы с расширением .csmdb23
далее будем называть описателем базы данных АИС Метроконтроль. Файл, по сути, представляет собой
ini файл. За основу взят формат ini с одной только целью: предоставить возможность внесения изменений в данный файл посредством
GPO+GPP.
Пример файла:
[MetrControl]
Version=2.3
[MetrControlDB]
Server=<ip-адрес или FQDN SQL сервера>
Database=<имя базы данных>
Description=<описание базы данных>
NTLM=yes/no; использовать учётную запись пользователя для подключения к SQL серверу, или явно указанные учётные данные
Login=<login>
PasswordHash=<password hash>
Создать файл-описатель Вашей БД можно через контекстное меню проводника "Создать"-"Описатель БД АИС Метроконтроль". Для изменения
созданного / существующего файла удерживайте Shift при щелчке правой кнопкой мыши на файле / ярлыке на .csmdb23
файл, после чего
воспользуйтесь глаголом "Изменить" (он доступен только при нажатой клавише Shift).
Вместо пароля следует сохранять хеш пароля, который следует получить из файла CnnSettings.xml
, создаваемого АИС Метроконтроль
при подключении к БД в профиле пользователя (%LocalAppData%\IFirst\MetrControl\CnnSettings.xml
).
При двойном щелчке на файле .csmdb23
или на ярлыке на файл данного типа активируется PowerShell сценарий, формирующий на основе
данных из .csmdb23
файл CnnSettings.xml
, после чего активирует приложение "АИС Метроконтроль" (на данном этапе поддерживаются
механизмы ms installer, и перед запуском приложения будут проверены все файлы приложения, записи в реестре и так далее, при
при необходимости - приложение будет автоматически восстановлено). Аналогичным образом можно запустить приложение и для другой
базы данных, воспользовавшись ярлыком на другой файл .csmdb23
.
Рекомендую файлы .csmdb23
размещать на сетевом ресурсе с включенным кешированием, а через GPO+GPP публиковать только ярлыки
на данные файлы.
В контекстном меню файла .csmdb23
присутствуют и другие глаголы: "Учёт клейм", "Метроконтроль - администратор" (доступен только
в расширенном меню - с Shift). Данные глаголы активируют, как уже понятно, соответствующие приложения.
При создании ярлыков на .csmdb23
файлы следует также указать и дополнительные аргументы. В частности, если после полного пути к
файлу Вы укажите csmadmin
, то при двойном щелчке на данном ярлыке будет активировано приложение "Метроконтроль - администратор",
если параметр markinv
- приложение "Учёт клейм", ну а csmmain
соответствует реакции по умолчанию - запуск приложения "АИС
Метроконтроль".
Таким образом, создав один файл - описатель базы АИС Метроконтроль, мы имеем возможность через GPO+GPP на весь домен назначить несколько ярлыков на данный файл, при этом мы можем указать, какое приложение будет активировать ярлык по умолчанию (при двойном щелчке на ярлыке).