Войти

Показать полную графическую версию : [решено] Установка определенной версии Mozilla Thunderbird


mcintosh55
12-06-2016, 05:29
Привет всем!!!
echo off
set VERSION=45.1
if %PROCESSOR_ARCHITECTURE% == x86 (
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Mozilla\Mozilla Thunderbird"
) else (
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Thunderbird"
)
reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% (ru)"
if ERRORLEVEL 1 "\\soft\Thunderbird Setup 45.1.0.exe" -ms

В set VERSION=45.1 пишем какую версию хотим установить, при следующей перезагрузки и запуска скрипта из авто запуска скрипт устанавливает по новой приложение. Что Я делаю не так.

Iska
12-06-2016, 07:27
Что Я делаю не так. »
Для начала хотелось бы понять, что Вы хотите сделать.

mcintosh55
12-06-2016, 08:45
Для начала хотелось бы понять, что Вы хотите сделать. »
стоит приложение Thunderbird Setup 44 - этот скрипт должен посмотреть в реестре установленную версию и если она не соответствует той которая в переменной set VERSION=45.1 инсталлировать приложение, а если версия в реестре 45.1 то ни чего не делать.

alpap
12-06-2016, 10:36
Попробуйте так:

reg query %REGISTRY_KEY_NAME% /v CurrentVersion /s | find "%VERSION% (ru)" && exit/b || "\\soft\Thunderbird Setup 45.1.0.exe" -ms

mcintosh55
12-06-2016, 10:43
Попробуйте так: »
все равно инсталлируется
Я пробую вот эту строку переделать if %PROCESSOR_ARCHITECTURE% == x86
а то выходит фигня какая.

"AMD64" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Iska
12-06-2016, 11:18
Во-первых, Вы некорректно определяете разрядность системы (хоть в данном случае это и не влияет на конечный результат). Во-вторых, Вы забыли, что значения параметров, содержащих любые «пробельные» символы, должны быть обрамлены кавычками (а в данном случае — именно так и есть). В-третьих, Вы некорректно производите сравнение: например, при установленной (и уже, кстати, присутствующей на сайте) версии 45.1.1 Ваше сравнение окажется истинным, и будет запущена установка старой версии поверх более новой. Ровно то же произойдёт и при любой более высокой установленной версии — 46.x, 47.x и т.д.

Где Вы хотите, в каких сценариях работы, использовать данный пакетный файл?

mcintosh55
12-06-2016, 11:20
распространения и обновление программы средствами GPO, если просто написать скрипт установка с ключем тихой установки то каждый раз будет инсталлироваться поверх а так хотел решить вопрос, что бы не инсталлировалась только когда новая появиться. Естественно с поправкой скрипта.
set VERSION= пишем новую версию которые скачали с сайта и заменили на шаре exe новым.

mcintosh55
12-06-2016, 11:37
Вы некорректно определяете разрядность системы » - брал с примера http://forum.oszone.net/post-1388293.html

echo off
set VERSION=45.1.1
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Mozilla\Mozilla Thunderbird"
) else (
set REGISTRY_KEY_NAME="HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Thunderbird"
)
reg query %REGISTRY_KEY_NAME% /v CurrentVersion | find "%VERSION% (ru)"
if ERRORLEVEL 1 "\\soft\Thunderbird Setup 45.1.1.exe" -ms

Вот так вроде корректно заработала, главное корректно вносить номер версии установщика (set VERSION) и не забывать заменять файл на шаре.

Iska
12-06-2016, 12:17
- брал с примера http://forum.oszone.net/post-1388293.html »
Вы хотите сказать, «хотел взять». Но не взял. Но в данном случае, как я уже писал, сие не важно, поскольку x64-версии приложения всё равно нет.




© OSzone.net 2001-2012