PDA

Показать полную графическую версию : [решено] Установка 7zip с помощью GPO


lordfalcon@vk
09-06-2012, 10:40
Добрый день! Помогите разобраться с проблемой. Для автоматической установки архиватора 7zip на рабочие станции домена я создал политику, в которой прописал Computer Configuration>Policies>Windows Settings>Scripts>Startup установку файла 7z920.exe с ключом /S. Сюда же добавляю (запуском reg файла) применение ассоциаций архиватора с нужными мне файлами (Script Name: regedit, Script Parameters: /s \\...\7zip.reg). Далее политика замечательно отрабатывает на XP, а вот на машинках с Windows 7 ассоциации файлов таким образом не применяются, а сам 7zip устанавливается без проблем. Подскажите, есть ли решение этой проблемы? Или есть возможные иные способы установки архиватора 7zip через GPO?

rybinpv
09-06-2012, 11:25
У архиватора 7-zip есть готовые пакеты .MSI. Их нужно устанавливать с помощью политики - Computer Conf/Policies/Software Settings/Software installation. А устанавливать значения реестра нужно через User conf/Preferences/Windows Settings/Registry.

lordfalcon@vk
09-06-2012, 11:39
rybinpv, А почему значения реестра нужно устанавливать именно через User Configuration а не тот же Computer Configuration>Preferences>Windows Settings>Registry ?

snark
09-06-2012, 12:11
Я ставлю в домене 7-zip посредством GPO (Конфигурация компьютера - Политики - Конфигурация программ - Установка программ), указываю нужный файл 7zip.msi, а настройки привязываю через файл трансформации *.mst. Нужно только при создании пакета указать метод развертывания не "Назначенный", а "Особый". Далее, после выбора метода развертывания, во вкладке "Модификации" нужно выбрать наш файл трансформации. В итоге пакет будет ставиться с требуемыми ассоциациями.

P. S. Если в домене есть машины с операционными системами x64, то скачайте инсталлятор в этой разрядности, скопируйте файл трансформации, переименуйте в 7zip_x64. Для каждой разрядности создайте свой пакет в одной и той же политике. Не забудьте убрать галочку в свойствах 32-х битного пакета (вкладка "Развертывание" - Дополнительно - Сделать это 32-разрядное приложение доступным для компьютеров с архитектурой Win64).

rybinpv
09-06-2012, 12:45
rybinpv, А почему значения реестра нужно устанавливать именно через User Configuration а не тот же Computer Configuration>Preferences>Windows Settings>Registry ? »
А вот тут точно ошибся. Да, ассоциации нужно указывать в Computer Configuration. А в User conf я настраивал русский интерфейс по умолчанию для 7-zip.

lordfalcon@vk
09-06-2012, 13:54
snark, Этот способ я тоже пробовал, но тут возникала несколько иная ситуация. Если на клиентской машине (на которую применяем сию политику) уже была установлена более ранняя версия 7zip (вручную например), то после установки политикой через .msi пакеты нашей новой версии, на клиентах в "установка и удаление программ" светятся одновременно и старая и новая версия 7zip, а нужно чтоб новая заменяла старую полностью. Вот с файлом .exe именно заменяется... Возможно нужно что-то дописать в .mst файлике?

snark
09-06-2012, 14:21
snark, Этот способ я тоже пробовал, но тут возникала несколько иная ситуация. Если на клиентской машине (на которую применяем сию политику) уже была установлена более ранняя версия 7zip (вручную например), то после установки политикой через .msi пакеты нашей новой версии, на клиентах в "установка и удаление программ" светятся одновременно и старая и новая версия 7zip, а нужно чтоб новая заменяла старую полностью. Вот с файлом .exe именно заменяется... Возможно нужно что-то дописать в .mst файлике? »
Новая заменяет старую, только с той разницей, что установленная руками пишет в ветку
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip
а msi-инсталлятор — в ветку
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{23170F69-40C1-2702-0922-000001000000}
(ну или подобный набор символов).
Таким образом, чтобы "не светилась" старая версия, достаточно прогнать в домене скрипт в автозагрузке (для машин, не для пользователей), который бы удалял данную запись.
Если развернут функционал GPP, то делается через предпочтения реестра.

lordfalcon@vk
09-06-2012, 15:57
snark, Почему же такая разница между установкой через .exe файл и .msi? exe ставится как надо, и старые версии затирает. Есть ли способ отредактировать файл .mst для исправления этого момента? Чтоб было всё красиво сразу и не прогонять затем никаких скриптов по домену.

snark
09-06-2012, 16:21
Есть ли способ отредактировать файл .mst для исправления этого момента? »
Не в курсе, никогда не пробовал.

lordfalcon@vk
13-06-2012, 11:01
Решил задачу, добавив в политику (Computer Configuration>Policies>Windows Settings>Scripts>Startup) файл .cmd со строчкой удаления ветки реестра: REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /f
И теперь всё отлично отрабатывает. snark, спасибо!

alexdomovoi
10-06-2013, 13:00
Товарищи скажите пытаюсь сделать удаленную установку через GPO 7-zip скачал msi пакет создал файлик mst (сразу оговорюсь что msi что mst лежит в сети на сетевом ресурсе) начал делать в GPO на 2008r2 сервере установку

нажимаю ок в конце формирования пакета выдает:

Имя журнала: Application
Код события: 110
Уровень: Ошибка
Ключевые слова:Классический
Не удалось создать сценарий для пакета \\PFR-POST\distrib\7_zip\7z920.msi. Произошла следующая ошибка: Ошибка применения преобразований. Проверьте правильности путей указанных преобразований.

Имя журнала: Application
Источник: Software Installation
Дата: 10.06.2013 12:46:14
Код события: 101
Категория задачи:Отсутствует
Уровень: Ошибка
Ключевые слова:Классический
Описание:
При установке программы произошла ошибка: Ошибка применения преобразований. Проверьте правильности путей указанных преобразований.

доступ там есть но пакет установки в AD не регистрируется.

freed3d
23-04-2016, 10:34
Я ставлю в домене 7-zip посредством GPO (Конфигурация компьютера - Политики - Конфигурация программ - Установка программ), указываю нужный файл 7zip.msi, а настройки привязываю через файл трансформации *.mst. Нужно только при создании пакета указать метод развертывания не "Назначенный", а "Особый". Далее, после выбора метода развертывания, во вкладке "Модификации" нужно выбрать наш файл трансформации. В итоге пакет будет ставиться с требуемыми ассоциациями. »

server 2012r2 режим работы домена 2008 рабочие станции win10 x64.
распространяемый дистриб 7z1514 x64.
все работает. настраивал по вашему коменту, использовал ваш фаил трансформации.

snark
25-04-2016, 11:16
Немного оффтопика: теперь я плавно перехожу на установку софта через WSUS Package Publisher (бесплатная утилита для распространения ПО через функционал WSUS, крайне рекомендую), поэтому в установщике можно перед установкой msi-пакета "ввернуть" нужный код, который и будет удалять предыдущие версии:

@ECHO OFF
REM Закрыть все процессы, которые могут помешать обновлению
taskkill /F /IM 7z.exe /T
taskkill /F /IM 7zFM.exe /T
taskkill /F /IM 7zG.exe /T

REM ============ Удаление 7-zip ============
REM Сохранение в файл идентификаторов (GUID) установленных пакетов 7-zip в формате установщика Windows Installer
SET Query=name like '7-zip 9%%' OR name like '7-zip 4%%'
wmic product where "%Query%" get IdentifyingNumber > "%TEMP%\del7zip_1.txt"

REM Сохранение только GUID пакетов во второй файл
TYPE "%TEMP%\del7zip_1.txt" | FINDSTR {........-....-....-....-............} > "%TEMP%\del7zip_2.txt"

REM Цикл удаления пакетов
FOR /f "tokens=*" %%a IN (%TEMP%\del7zip_2.txt) DO (msiexec /x %%a /norestart /qn)

REM Удаление временных файлов
IF EXIST "%TEMP%\del7zip_1.txt" DEL "%TEMP%\del7zip_1.txt"
IF EXIST "%TEMP%\del7zip_2.txt" DEL "%TEMP%\del7zip_2.txt"

msiexec.exe /i 7z1514-x64.msi TRANSFORMS=7z.mst /qn

SerjioTT
20-01-2017, 13:22
Я ставлю в домене 7-zip посредством GPO (Конфигурация компьютера - Политики - Конфигурация программ - Установка программ), указываю нужный файл 7zip.msi, а настройки привязываю через файл трансформации *.mst. Нужно только при создании пакета указать метод развертывания не "Назначенный", а "Особый". Далее, после выбора метода развертывания, во вкладке "Модификации" нужно выбрать наш файл трансформации. В итоге пакет будет ставиться с требуемыми ассоциациями. »
Решение рабочее.
Использовал в домене Win2012 R2 + Win7Pro
отлично установилось
Но было нюанс: сетевой путь откуда подцеплял msi файлы оказалось НЕ ДОЛЖЕН содержать русские символы (и возможно пробелы)
иначе установщик на клиенте выдавал ошибку %1612




© OSzone.net 2001-2012