AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 17.07.2007, 17:52   #1  
Roman777 ist offline
Roman777
NavAx
Benutzerbild von Roman777
NavAx Club
 
320 / 64 (3) ++++
Registriert seit: 10.02.2005
Ort: г. Москва
? автоматизация установки клиента Axapta
Всем добрый вечер.
Интересует вопрос автоматизированной установки клиента Axapta на рабочие станции домена.
Суть в следующем: чтобы установить Axapta SP4 KR3 необходимо как
минимум установить Axapta CIS 30, затем Axapta 30 SP4, и Axapta KR3. Руками - трудоемко, т.к. компьютеров с Axapta порядка сотни.
Кто-нибудь делал из этого всего один .msi файл?
Поделитесь пожалуйста мыслями.
Спасибо.
Alt 17.07.2007, 18:18   #2  
KiselevSA ist offline
KiselevSA
Злыдни
Benutzerbild von KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Registriert seit: 25.01.2002
Ort: Москва
Формировали и пакет msi для развертывания (есть для этого программы), но не вижу я смысла в установке клиента на все машины. Равернули на одну станцию, сформировали рабочую директорию с набором файлов и копируйте.
Достаточно скрипта:
Code:
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
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Alt 17.07.2007, 22:46   #3  
Ned ist offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Registriert seit: 29.12.2002
Ort: самолёт
Могу предложить ещё способ:
- Запуск батником нескольких самораспоковывающихся архивов + файлов с расширением reg для регистрации компонентов
__________________
Viacheslav Nefedov, http://www.nefedov.net, http://restock.guru/
Alt 17.07.2007, 23:13   #4  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von Roman777 Beitrag anzeigen
Интересует вопрос автоматизированной установки клиента Axapta на рабочие станции домена. Суть в следующем: чтобы установить Axapta SP4 KR3 необходимо как минимум...
Кто-нибудь делал из этого всего один .msi файл?
Zitat:
Zitat von KiselevSA Beitrag anzeigen
Формировали и пакет msi для развертывания (есть для этого программы), но не вижу я смысла в установке клиента на все машины. Равернули на одну станцию, сформировали рабочую директорию с набором файлов и копируйте.
Полностью поддерживаю, с MSI больше мороки. Можно, конечно, воспользоваться установкой через групповую политику, но я лично написал банальный батник для удаленной (со своего компа) установки. При этом не просто копируются файлы клиента, но еще проверяется доступность указанной машины, наличие на ней предыдущей "установки" (по тому же пути) клиента и его полный снос, а также регистрация небходимых OCX и DLL и создание записей в реестре, чтобы нормально создавались сообщения в eventlog, и работал performance monitor. До кучи еще копируются необходимые шрифты, и в реестр импортируются данные для подставновки шрифтов, чтобы не было "крякозябр".
Правда, для работы батника понадобится psexec, 4nt и админские права на удаленной машине.
Angehängte Dateien
Dateityp: rar ax-3-client-inst.rar (2,2 KB, 176x aufgerufen)
This post has been rated by: Roman777 (2), Viknik (1).
Alt 18.07.2007, 08:55   #5  
Roman777 ist offline
Roman777
NavAx
Benutzerbild von Roman777
NavAx Club
 
320 / 64 (3) ++++
Registriert seit: 10.02.2005
Ort: г. Москва
Zitat:
Zitat von gl00mie Beitrag anzeigen
Полностью поддерживаю, с MSI больше мороки. Можно, конечно, воспользоваться установкой через групповую политику, но я лично написал банальный батник для удаленной (со своего компа) установки. При этом не просто копируются файлы клиента, но еще проверяется доступность указанной машины, наличие на ней предыдущей "установки" (по тому же пути) клиента и его полный снос, а также регистрация небходимых OCX и DLL и создание записей в реестре, чтобы нормально создавались сообщения в eventlog, и работал performance monitor. До кучи еще копируются необходимые шрифты, и в реестр импортируются данные для подставновки шрифтов, чтобы не было "крякозябр".
Правда, для работы батника понадобится psexec, 4nt и админские права на удаленной машине.
Этот вариант подходит.
Правильно ли я понимаю, что необходимо предварительно установить только на одну машину клиента с необходимым SP и KR, скопировать получившийся Bin в директорию Bin для батника?
Можно немного поподробнее о запуске этого скрипта?
Alt 18.07.2007, 10:01   #6  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von Roman777 Beitrag anzeigen
Правильно ли я понимаю, что необходимо предварительно установить только на одну машину клиента с необходимым SP и KR, скопировать получившийся Bin в директорию Bin для батника?
Да, но если быть точным, я брал весь каталог с установленным клиентом (стандартные каталоги appl, bin, log, share, std, из которых файлы только в bin и share), а также файлы шрифтов для штрих-кодов, которые ставятся с Аксаптой, и рассовывал это по указанным каталогам.
Zitat:
Zitat von Roman777 Beitrag anzeigen
Можно немного поподробнее о запуске этого скрипта?
Во-первых, надо поставить указанные утилиты, в частности, 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:
Code:
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

Geändert von gl00mie (18.07.2007 um 10:03 Uhr)
Alt 18.07.2007, 10:06   #7  
KiselevSA ist offline
KiselevSA
Злыдни
Benutzerbild von KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Registriert seit: 25.01.2002
Ort: Москва
А я регистрацию компонент специально убрал из скрипта, т.к. оказалось, что для подавляющего числа сотрудников они не нужны (не используются в работе), а скрипт вызывается из logon-скрипта доменного. Т.ч. с правами админа мучаться не надо. При необходимости скрипт можно расширить до нужных потребностей )))
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Alt 18.07.2007, 10:15   #8  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von KiselevSA Beitrag anzeigen
А я регистрацию компонент специально убрал из скрипта, т.к. оказалось, что для подавляющего числа сотрудников они не нужны (не используются в работе), а скрипт вызывается из logon-скрипта доменного. Т.ч. с правами админа мучаться не надо.
Из моего скромного опыта: когда у "подавляющего числа сотрудников" есть админские права на локальной машине (а иначе регистрация компонент, запускаемая из logon-скрипта под их аккаунтами, не сработает) - вот тогда и начинаются настоящие мучения...

PS. В моем случае пользователи после 1С "жить не могли" без панельки внизу окна Axapta с кнопками на каждое открытое окно, а панелька шла как раз отдельным OCX'ом...

Geändert von gl00mie (18.07.2007 um 10:18 Uhr)
Alt 18.07.2007, 10:53   #9  
KiselevSA ist offline
KiselevSA
Злыдни
Benutzerbild von KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Registriert seit: 25.01.2002
Ort: Москва
Zitat:
Zitat von gl00mie Beitrag anzeigen
Из моего скромного опыта: когда у "подавляющего числа сотрудников" есть админские права на локальной машине (а иначе регистрация компонент, запускаемая из logon-скрипта под их аккаунтами, не сработает) - вот тогда и начинаются настоящие мучения...

PS. В моем случае пользователи после 1С "жить не могли" без панельки внизу окна Axapta с кнопками на каждое открытое окно, а панелька шла как раз отдельным OCX'ом...
Согласен. Админами они не были, а всякие украшательства им не были показаныи остались не востребованы )))
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Alt 18.07.2007, 11:01   #10  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.343 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
А можно глупый вопрос непонимающего?
А есть смысл вообще устанавливать клиента на все компы?
Не проще ли запускать Аксапту с расшаренной папки БЕЗ установки клиента?
Единственное что придется сделать - это шрифты на все машины поставить
Сразу оговорюсь - вопрос не касается 4.0
__________________
Возможно сделать все. Вопрос времени
Alt 18.07.2007, 11:12   #11  
KiselevSA ist offline
KiselevSA
Злыдни
Benutzerbild von KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Registriert seit: 25.01.2002
Ort: Москва
Zitat:
Zitat von sukhanchik Beitrag anzeigen
Не проще ли запускать Аксапту с расшаренной папки БЕЗ установки клиента?
Ну если сетевой трафик резиновый, то проще. У меня были ситуации, когда Axapta работала, а файловый сервер был недоступен.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Alt 18.07.2007, 11:32   #12  
gl00mie ist offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.684 / 5813 (201) ++++++++++
Registriert seit: 28.11.2005
Ort: Москва
Blog-Einträge: 3
Zitat:
Zitat von sukhanchik Beitrag anzeigen
А есть смысл вообще устанавливать клиента на все компы? Не проще ли запускать Аксапту с расшаренной папки БЕЗ установки клиента?
Если нет необходимости регистрировать какие-то используемые клиентом компоненты, то оно, конечно, проще. Можно даже через DFS "раскидать" шару, откуда запускается клиент, на несколько физических серверов для повышения отказоустойчивости и распределения нагрузки по трафику.
Alt 20.07.2007, 13:58   #13  
Roman777 ist offline
Roman777
NavAx
Benutzerbild von Roman777
NavAx Club
 
320 / 64 (3) ++++
Registriert seit: 10.02.2005
Ort: г. Москва
Lightbulb
Выкладываю свой вариант:
Code:
@ECHO OFF
SETLOCAL
SET CLIENTPATH=\\SERVER\Axapta\Axapta_30_CIS\Setup\Client
SET DIRSP=\\SERVER\Axapta\DIRSP\bin.sp4
SET DIRLINK=\\SERVER\Axapta\Link

set /p cname=Enter computer name: 
Ping -n 1 %cname% >Nul
IF %ERRORLEVEL% NEQ 0 goto NPING
net use \\%cname%\Admin$ /user:DOMAIN\Administrator
IF %ERRORLEVEL% NEQ 0 goto EXIT
psexec -i -s \\%cname%  msiexec /i "%CLIENTPATH%\navision axapta client.msi" /qn ALLUSERS=2
IF %ERRORLEVEL% NEQ 0 goto DELSHARE
psexec -i -s \\%cname% regedit /s "%CLIENTPATH%\2000.reg"
xcopy "%DIRSP%\*.*" "\\%cname%\c$\Program Files\Navision\Client\Bin.sp4\"   /q /e /y
xcopy  "%DIRLINK%\Axapta.lnk" "\\%cname%\c$\documents and settings\all users\Рабочий стол\" /y
:DELSHARE
net use \\%cname%\Admin$ /delete
goto EXIT
:NPING
ECHO wrong computer name
:EXIT
pause
Stichworte
ax3.0

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Какие порты мне необходимо открыть на циске для 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

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 12:19 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.