CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Ответить
Аватара пользователя
mcintosh55

CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение mcintosh55 »

Привет всем!!!



Код:

Код: Выделить всё

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

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение Iska »

Цитата mcintosh55:



Что Я делаю не так.
CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird




Для начала хотелось бы понять, что Вы хотите сделать.
Аватара пользователя
mcintosh55

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение mcintosh55 »

Цитата Iska:



Для начала хотелось бы понять, что Вы хотите сделать.
CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird




стоит приложение Thunderbird Setup 44 - этот скрипт должен посмотреть в реестре установленную версию и если она не соответствует той которая в переменной set VERSION=45.1 инсталлировать приложение, а если версия в реестре 45.1 то ни чего не делать.
Аватара пользователя
alpap

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение alpap »

Попробуйте так:



Код:

Код: Выделить всё

reg query %REGISTRY_KEY_NAME% /v CurrentVersion /s | find "%VERSION% (ru)" && exit/b || "\\soft\Thunderbird Setup 45.1.0.exe" -ms
Аватара пользователя
mcintosh55

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение mcintosh55 »

Цитата alpap:



Попробуйте так:
CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird




все равно инсталлируется

Я пробую вот эту строку переделать

Код:

Код: Выделить всё

if %PROCESSOR_ARCHITECTURE% == x86

а то выходит фигня какая.



"AMD64" не является внутренней или внешней

командой, исполняемой программой или пакетным файлом.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение Iska »

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



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

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение mcintosh55 »

распространения и обновление программы средствами GPO, если просто написать скрипт установка с ключем тихой установки то каждый раз будет инсталлироваться поверх а так хотел решить вопрос, что бы не инсталлировалась только когда новая появиться. Естественно с поправкой скрипта.

set VERSION= пишем новую версию которые скачали с сайта и заменили на шаре exe новым.
Аватара пользователя
mcintosh55

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение mcintosh55 »

Цитата Iska:



Вы некорректно определяете разрядность системы
CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird




- брал с примера
CMD/BAT - [решено] Как проверить разрядность операционной системы?






Код:

Код: Выделить всё

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

Re: CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird

Сообщение Iska »

Цитата mcintosh55:



- брал с примера
CMD/BAT - [решено] Как проверить разрядность операционной системы?
CMD/BAT - [решено] Установка определенной версии Mozilla Thunderbird




Вы хотите сказать, «хотел взять». Но не взял. Но в данном случае, как я уже писал, сие не важно, поскольку x64-версии приложения всё равно нет.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»