Раскатка на парк
Политика на сетевом ресурсе
Путь к файлу политики передаётся установщику через параметр POLICYPATH. Путь по
умолчанию, на который служба идёт, если параметр не задан, — сетевая шара
\\server\laportausb$\policy.json. Для парка машин имеет смысл держать policy.json
именно там: на сетевом ресурсе, доступном компьютерам домена на чтение, — правка
одного файла на шаре применяется ко всем машинам без переустановки пакета.
Пакет и файл преобразования
- Положить
LaPortaUsb.msiна шару, доступную компьютерам домена на чтение. - Создать файл преобразования (
.mst) с нужным значениемPOLICYPATH— в тихой установке через групповую политику параметры иначе не передать.
Значение POLICYPATH из файла преобразования, как и при обычной установке, попадает
в реестр (HKLM\SOFTWARE\LaPortaUsb\PolicyPath) и там авторитетно: при раскатке
доменной политикой авторитетен параметр установки, а не файл appsettings.json,
поставленный рядом с программой.
Назначение на подразделение
Назначить пакет на подразделение: «Конфигурация компьютера» → «Установка программ». Именно на компьютер, а не на пользователя: служба ставится машинно.
Смена версии
Новая версия ставится тем же пакетом с тем же кодом обновления (UpgradeCode) и
увеличенной версией. Отдельно удалять прежнюю версию не нужно: Windows Installer
снимает её и ставит новую в рамках одной операции.
Чего делать нельзя — подменять файлы в каталоге программы мимо установщика. Причина
в учёте отключённых узлов: он живёт в %ProgramData%\LaPorta USB\disabled-nodes.json
и хранит вместе с узлом класс носителя. Формат прежних версий новая служба читает, обратно —
нет. Подмена файлов на прежнюю версию оставит машину с записями, которых та не понимает:
отключённые узлы останутся отключёнными, а служба о них не узнает, и включать их придётся
руками через диспетчер устройств.
Удаление силами установщика этой сложности не создаёт — и то, которое выполняется внутри обновления, и запущенное отдельно: оно останавливает службу, та снимает все отключения и очищает учёт, и следующая версия начинает с чистого листа.
Обновление той же версией разрешено явно (AllowSameVersionUpgrades в Package.wxs):
установка новой сборки поверх прежней удаляет её и ставит новую. Без этого Windows Installer
одинаковые версии за обновление не считает — установка завершается успехом и не делает
ничего, а при некоторых сочетаниях в списке установленных программ появляется вторая копия.
Найдено на приёмке.
В объекте групповой политики новый пакет назначается обновлением прежнего, а не удалением прежнего и добавлением нового.
Чек-лист перед раскаткой
Из раздела 8 спеки. Выполняется до установки на вторую машину.
- Проверить модуль «Контроль устройств» в Kaspersky Endpoint Security. Если он включён для USB-накопителей — либо отключить его для них, либо отказаться от установки программы. Два независимых блокировщика на одной шине дают невоспроизводимое поведение: какой из них сработает первым, предсказать нельзя.
- Внести папку установки и оба исполняемых файла в доверенную зону KES. Иначе самозащита или контроль активности приложений может помешать отключению устройства, и запрет будет срываться без внятной причины.
- Прогнать полный цикл на одной машине: запрет, только чтение, разрешение, перезагрузка, работа токена, вход по токену.