RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Ещё один способ развернуть клиента DV в сети

Уверен, что многие из читателей занимались установкой клиентской части DV. Способов инсталляции существует немало. Я хочу предложить ещё один, который, на мой взгляд, будет достаточно востребован при установке на n-ое количество компьютеров.

Способ может пригодиться, когда использование групповых политик может быть неприемлемо: нет прав, нет времени, нет AD в конце концов. К тому же, зачастую, для применения политики нужно не менее двух перезагрузок клиентской машины.

Кто-то из читателей наверняка слышал про утилиту psexec. С её помощью можно выполнять команды на удалённом компьютере(-ах). Вот ею мы и воспользуемся.

Ставить будем клиента версии 4.3. Для полноценной его работы требуется .NET Framework 3.5 SP1. По своему опыту могу сказать, что далеко не всегда он установлен, поэтому его тоже включим в скрипт.

Для начала нужно создать два ресурса: один с пакетами инсталляции, второй для журналов установки.
К примеру такие:

\\SERVERNAME\dv_install
\\SERVERNAME\dv_install_logs

Минимальные права для первого - чтение для учётной записи из-под которой будет происходит установка, для второго - чтение\запись для этой же учётной записи.

Если нужно, скачиваем полный дистрибутив NET Framework 3.5 SP1 (231 мб) и кладём его в папку с пакетами клиента DV.

Далее, при помощи генератора преобразований (в консоли настройки) нужно создать преобразования для пакетов DocsVision TakeOffice и DocsVision Client.
В первом пакете, в общем случае, нужно откорректировать значения свойств: BASE_NAME, SERVER_NAME, SITE_URL, SOAP_SERVICE_URL. Во втором - DV_URL. Преобразования сохранить в директории с целевым пакетом.

Теперь нужно создать bat-файлы для установки пакетов.

Файл InstallDVClient.bat

\\SERVERNAME\dv_install\dotnetfx35_wSP1.exe /quiet /norestart

msiexec /i \\SERVERNAME\dv_install\Prerequisites\Prerequisites.msi /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Prerequisites_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\DocsVisionClient\DocsVisionClient1848.msi TRANSFORMS="\\SERVERNAME\dv_install\DocsVisionClient\dv43.mst" ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Client_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\TakeOfficeClient\TakeOfficeClient1848.msi TRANSFORMS="\\SERVERNAME\dv_install\TakeOfficeClient\dv43.mst" ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\TakeOffice_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\WorkflowClient\WorkflowClient1848.msi ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\Workflow_%COMPUTERNAME%.log
msiexec /i \\SERVERNAME\dv_install\DocsVisionManagedClient\DocsVisionManagedClient1848.msi ALLUSERS=1 /quiet /norestart /l* \\SERVERNAME\dv_install_logs\ManagedClient_%COMPUTERNAME%.log

del %WINDIR%\System32\InstallDVClient.bat


Кому не нужно ставить Framework - убирают первую строку.
Установка будет производиться в режиме "для всех пользователей", на что указывает флаг ALLUSERS=1 (Prerequisites и ManagedClient всегда ставятся в этом режиме). Кому было лень создавать файлы-трансформеры, могут также указать все нужные параметры прямо в файле, но мне это кажется слишком громоздким. Логи будут складываться во вторую шарку. Для каждого компьютера свои логи для каждого пакета.

Файл Install.bat

psexec.exe @C:\DV_Remote_Install\Comps.txt -u Administrator -p password -d -c -f InstallDVClient.bat

В файле Comps.txt хранится список имён (или IP-адресов) компьютеров на которых нужно произвести установку.

Параметр -u в данном случае обязателен, поскольку иначе удалённый процесс установки запустится от имени текущего пользователя с помощью механизма имперсонации. Из соображений безопасности, запущенный в таком режиме процесс не сможет получить доступ к сетевым ресурсам. Итак, указываем пользователя, обладающего административными привилегиями на всех целевых машинах. Пароль можно явно не указывать, в таком случае его нужно будет ввести при запуске команды.

Параметр -d указывает программе не дожидаться окончания выполнения команды. Если его не указать, то установка будет производиться последовательно на каждом компьютере, что значительно увеличит время развёртывания.

Опции и -f указывают, что файл InstallDVClient.bat нужно перед выполнением предварительно скопировать на целевую машину, т.к. его там изначально нет.

Вот и всё. Можно запускать Install.bat и ждать. NET Framework будет ставиться 10-20 минут, потом установятся пакеты пакеты клиентской части (~5 минут). В случае возникновения проблем смотрим логи.

Таким же образом, в случае необходимости, пакеты можно удалить с клиентских машин. Для этого у msiexec существует ключ -x.



Читать дальше

2 коммент.:

Unknown комментирует...

Михаил, привет. Спасибо за статью. Существует ли способ удалить DV 3.6, установленный для конкретного пользователя? Или единственный способ - запустить скрипт удаления под этим пользователем.

С уважением, Михаил

Михаил Захаров комментирует...

Я не автор данного поста. Если речь идет о групповом удалении, то конечно, нужно запустить скрипт удаления.

Отправить комментарий