Показать сообщение отдельно
Старый 18.07.2007, 10:01   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Roman777 Посмотреть сообщение
Правильно ли я понимаю, что необходимо предварительно установить только на одну машину клиента с необходимым SP и KR, скопировать получившийся Bin в директорию Bin для батника?
Да, но если быть точным, я брал весь каталог с установленным клиентом (стандартные каталоги appl, bin, log, share, std, из которых файлы только в bin и share), а также файлы шрифтов для штрих-кодов, которые ставятся с Аксаптой, и рассовывал это по указанным каталогам.
Цитата:
Сообщение от Roman777 Посмотреть сообщение
Можно немного поподробнее о запуске этого скрипта?
Во-первых, надо поставить указанные утилиты, в частности, psexec используется для удаленого запуска regsvr32 (регистрация компонент OCX) и regedit (импорт настроек подстановки шрифтов), а сам батник сильно завязан на функции, присутствующие в 4nt. В начале скрипта настраиваются переменные, указывающие на исходные и конечные каталоги:
  • __src_axapta - каталог, содержащий подкаталог client, в котором должны лежать файлы клиента Axapta;
  • __dst_axapta - каталог, куда будут копироваться файлы клиента Axapta; по умолчанию задан в виде c$\axapta, т.е. с использованием стандартной шары c$ (корень диска c:\); вместе с netbios-именем клиентского компа должен давать полный unc-путь, типа \\host\c$\axapta;
  • __src_files - каталог, содержащий вспомогательные файлы (в данном случае файл 2000.reg, ярлычок Axapta.lnk и шрифты в подкаталоге %__src_files%\fonts); этот путь берется по умолчанию из пути, откуда запущен батник, и настраивать его не надо.
  • __src_ax32 - путь к файлу ax32.exe на локальной машине, используемый для определения "древности" версии уже установленного на удаленной машине клиента по сравнению с устанавливаемой версией - если, конечно, будет обнаружен уже установленный клиент; настраивается автоматом с использованием __src_axapta.
  • __client_dir - каталог, куда ставится клиент, в том виде, как он будет выглядеть на машине клиента, например, c:\axapta; предполагается, что __dst_axapta указывается через стандартные шары дисков, поэтому значение __client_dir автоматом создается из __dst_axapta путем замены "$" на ":".
Таким образом, в батнике в общем случае надо настроить только путь __src_axapta. После запуска запрашивается netbios-имя или ip клиентской машины, проверяется ее доступность по сети и доступность шары admin$ на ней (без этого psexec не будет работать, и не получится скопировать шрифты), проверяется наличие уже установленного клиента и то, что его версия старее устанавливаемой (иначе запрашивается дополнительное подтверждение), ну и собственно начинается установка. Если был обнаружен уже установленный клиент, то до установки удаляется регистрация его компонент (regsvr32 /u) и полностью сносится его каталог (%__dst_axapta%\client). Настройки подстановки шрифтов на w2k начинают дейтсвовать сразу, а на wxp/w2k3 понадобится перезагрузка.
Мне, правда, десятками за раз клиентов ставить не довелось, но батник легко подрихтовать, чтоб он лишнего не спрашивал и брал имя машины из ком.строки или из файла.
Да, на счет performance monitor: для него на удаленной машине регистрируются счетчики COM-коннектора, но сам коннектор не регистрируется. Если это необходимо, то можно добавить его в эту строчку аналогично другим dll:
Код:
psexec \\%__host% cmd /c for %%a in ("%__client_dir%\bin\*.ocx" "%__client_dir%\bin\anameter.dll" "%__client_dir%\bin\smmaxol.dll") do regsvr32 /s %%a

Последний раз редактировалось gl00mie; 18.07.2007 в 10:03.