AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.07.2007, 18:18   #1  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Формировали и пакет msi для развертывания (есть для этого программы), но не вижу я смысла в установке клиента на все машины. Равернули на одну станцию, сформировали рабочую директорию с набором файлов и копируйте.
Достаточно скрипта:
Код:
Dim DesktopPath, Shortcut
Dim UserName, SDrive
Dim WshShell, ObjEnv, Wscr
Dim fso
Dim VerCL, VerSRV
Dim ProgPath, WorkPath, LnkPath, TagPath, CfgPath, DPath
Dim oFolder, oFile, file
Const ClientPath = "шара, где лежит клиент"
Const DestPath = "%SYSTEMDRIVE%\Program Files\Navision\Axapta\Client\Bin"
Const Cfg1 ="что-то -user=" --путь до конфигурациооного файла и параметр для имени, если нужно

Set fso = createobject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
Set ObjEnv = WshShell.Environment("Process")

SDrive = ObjEnv("SYSTEMDRIVE")
ProgPath = SDrive + "\Program Files\Navision\Axapta\Client\Bin"
DPath = WshShell.ExpandEnvironmentStrings(DestPath)
If (Not fso.FileExists(ProgPath & "\Ax32.exe")) Then
	If (Not fso.FolderExists(SDrive & "\Program Files\Navision")) Then
		fso.CreateFolder(SDrive & "\Program Files\Navision")
	End If
	If (Not fso.FolderExists(SDrive & "\Program Files\Navision\Axapta")) Then
		fso.CreateFolder(SDrive & "\Program Files\Navision\Axapta")
	End If
	If (Not fso.FolderExists(SDrive & "\Program Files\Navision\Axapta\Client")) Then
		fso.CreateFolder(SDrive & "\Program Files\Navision\Axapta\Client")
	End If
	If (Not fso.FolderExists(SDrive & "\Program Files\Navision\Axapta\Client\Bin")) Then
		fso.CreateFolder(SDrive & "\Program Files\Navision\Axapta\Client\Bin")
	End If

	fso.CopyFile (ClientPath & "\*.*"), DPath
	DesktopPath = WshShell.SpecialFolders("Desktop")
	TagPath = DPath & "\Ax32.exe"
	If (Not fso.FileExists(DesktopPath & "\Axapta.lnk")) Then
		Set Shortcut = WshShell.CreateShortcut(DesktopPath & "\Axapta.lnk")
			Shortcut.TargetPath = """" & TagPath & """"
			Shortcut.Arguments = Cfg1 
			Shortcut.WorkingDirectory = DPath
			Shortcut.IconLocation = (DPath & "\Ax32.exe,0")
			Shortcut.WindowStyle = 1
			Shortcut.Save
	End If
Else
		VerCL = fso.GetFileVersion(ProgPath & "\Ax32.exe")
		VerSRV = fso.GetFileVersion(ClientPath & "\Ax32.exe")
		If (VerSRV <> VerCL) Then
			set oFolder = fso.GetFolder(DPath)
			Set oFile = oFolder.Files
			For Each i In oFile
				file = oFolder.Path & "\" & i.Name
				fso.DeleteFile file, true
			Next	
			fso.CopyFile (ClientPath & "\*.*"), DPath
		End If 
End If
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 17.07.2007, 23:13   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Roman777 Посмотреть сообщение
Интересует вопрос автоматизированной установки клиента Axapta на рабочие станции домена. Суть в следующем: чтобы установить Axapta SP4 KR3 необходимо как минимум...
Кто-нибудь делал из этого всего один .msi файл?
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
Формировали и пакет msi для развертывания (есть для этого программы), но не вижу я смысла в установке клиента на все машины. Равернули на одну станцию, сформировали рабочую директорию с набором файлов и копируйте.
Полностью поддерживаю, с MSI больше мороки. Можно, конечно, воспользоваться установкой через групповую политику, но я лично написал банальный батник для удаленной (со своего компа) установки. При этом не просто копируются файлы клиента, но еще проверяется доступность указанной машины, наличие на ней предыдущей "установки" (по тому же пути) клиента и его полный снос, а также регистрация небходимых OCX и DLL и создание записей в реестре, чтобы нормально создавались сообщения в eventlog, и работал performance monitor. До кучи еще копируются необходимые шрифты, и в реестр импортируются данные для подставновки шрифтов, чтобы не было "крякозябр".
Правда, для работы батника понадобится psexec, 4nt и админские права на удаленной машине.
Вложения
Тип файла: rar ax-3-client-inst.rar (2.2 Кб, 139 просмотров)
За это сообщение автора поблагодарили: Roman777 (2), Viknik (1).
Старый 18.07.2007, 08:55   #3  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Полностью поддерживаю, с MSI больше мороки. Можно, конечно, воспользоваться установкой через групповую политику, но я лично написал банальный батник для удаленной (со своего компа) установки. При этом не просто копируются файлы клиента, но еще проверяется доступность указанной машины, наличие на ней предыдущей "установки" (по тому же пути) клиента и его полный снос, а также регистрация небходимых OCX и DLL и создание записей в реестре, чтобы нормально создавались сообщения в eventlog, и работал performance monitor. До кучи еще копируются необходимые шрифты, и в реестр импортируются данные для подставновки шрифтов, чтобы не было "крякозябр".
Правда, для работы батника понадобится psexec, 4nt и админские права на удаленной машине.
Этот вариант подходит.
Правильно ли я понимаю, что необходимо предварительно установить только на одну машину клиента с необходимым SP и KR, скопировать получившийся Bin в директорию Bin для батника?
Можно немного поподробнее о запуске этого скрипта?
Старый 18.07.2007, 10:01   #4  
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.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Какие порты мне необходимо открыть на циске для axapta, для тонкого клиента. Maksim13 DAX: Администрирование 6 06.03.2006 12:54
Не могу запустить Axapta после установки EDS DAX: Функционал 8 09.08.2003 13:46
Создание клиента/поставщика в Axapta 3 soin DAX: Функционал 13 01.08.2003 13:16
После установки Axapta 2.5 и SP 3 Leon DAX: Администрирование 1 09.12.2002 14:13
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:53.