Что нового

[Автоматизация] Zimbra Desktop авто обновление и добавление словарей орфографии

ulan44

Знающий
Сообщения
55
Репутация
8
Может кому понадобиться.
Скрипт проверяет текущую версию ZD и если нужно обновляет, а также добавляет словари для орфографии, в частности русский словарь.
Русский словарь Aspell доступен по ссылке http://files2.zimbra.com/downloads/zdesktop/dictionaries/ru.zip
Исправленный users.js во вложении.
Как видно из скрипта все файлы для установки, а так же словари и файл конфигурации users.js должны быть в одной папке иначе придется править пути.

p/s конечно скрипт скорее всего похож на былокод :D но меня пока устраивает. Критика и предложения приветствуется. :IL_AutoIt_1:

Код:
#include <File.au3>
$user = 'логин'		; имя пользователя домена
$domain = 'домен'		; имя домена
$pass = 'пароль'	; пароль

$ZD_inst_file = @ScriptDir & '\tmp\zdesktop_7_2_2_ga_b11951_20130318071431_win32.msi'	;не забываем менять с каждым обновлением клиента, для того чтоб все работало как задумано качаем свежий клиент с оф.сайта и распаковываем его в папку tmp
$ZD_ver_new = FileReadLine(@ScriptDir & '\tmp\Program Files Folder\Zimbra\Zimbra Desktop\README.txt', 5)
$ZD_ver_inst = FileReadLine(@ProgramFilesDir & '\Zimbra\Zimbra Desktop\README.txt', 5)
$ZD_run = @ProgramFilesDir & '\Zimbra\Zimbra Desktop\win32\zdrun.vbs'
$ZD_proc = 'zdclient.exe'
$ZD_new_dir_dic = @ScriptDir & '\ru.*'												;путь до нового файла словаря
$ZD_new_dir_user = @ScriptDir & '\user.js'											;путь до нового файла конфигурации пользователя

$ZD_dir_dic = @ProgramFilesDir & '\Zimbra\Zimbra Desktop\win32\prism\xulrunner\dictionaries\'			;расположения словарей xp
$ZD_pr_us_xp = @UserProfileDir & '\Local Settings\Application Data\Zimbra\Zimbra Desktop\profile\'		;профиль пользователя xp
$ZD_pr_us_w7 = @UserProfileDir & '\AppData\Local\Application Data\Zimbra\Zimbra Desktop\profile\'		;профиль пользователя w7

$ZD_info = 'Zimbra Desktop обнаружила новую версия ' & $ZD_ver_new & @CRLF & 'Выберите действие' & @CRLF & 'ДА    - запустит обновление' & @CRLF & 'НЕТ  - отложить обновление' & @CRLF & 'Дополнительная информация по тел: 286'

If $ZD_ver_new == $ZD_ver_inst Then
			If 'WIN_XP' == @OSVersion Then
					 If FileReadLine($ZD_pr_us_xp & 'user.js', 15) == FileReadLine($ZD_new_dir_user, 15) Then
						Exit
					 Else
						ProcessClose($ZD_proc)
						FileCopy($ZD_new_dir_dic, $ZD_dir_dic)
						FileCopy($ZD_new_dir_user, $ZD_pr_us_xp)
						ShellExecute($ZD_run)
					 EndIf

			ElseIf 'WIN_7' == @OSVersion Then
					 If FileReadLine($ZD_pr_us_w7 & 'user.js', 15) == FileReadLine($ZD_new_dir_user, 15) Then
						Exit
					 Else
						ProcessClose($ZD_proc)
						FileCopy($ZD_new_dir_dic, $ZD_dir_dic)
						FileCopy($ZD_new_dir_user, $ZD_pr_us_w7)
						ShellExecute($ZD_run)
					 EndIf
			EndIf
   Else
		 If MsgBox(4 + 32, 'Zimbra Desktop Upgrade', $ZD_info, 0) = 6 Then
			MsgBox(16, 'Zimbra Desktop Upgrade', 'После обновления Zimbra Desktop запуститься автоматически')
			 ProcessClose($ZD_proc)
			 RunAs($user, $domain, $pass, 0, 'msiexec /i ' & $ZD_inst_file)
		 Else
			   MsgBox(16, 'Zimbra Desktop Upgrade', 'Обновление отложено')
		 EndIf
   Exit
EndIf
 

beliy

Продвинутый
Сообщения
372
Репутация
72
А чем через WSUS делать не вариант? Так для установки не нужны будут права админа, устанавливается централизировано, нет дополнительных скриптов в автозагрузке и прочее...
 
Верх