imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Операционные системы M$
Опции темы
Старый 24.01.2019, 08:47     # 1
Surayu
Junior Member
 
Аватар для Surayu
 
Регистрация: 01.05.2005
Сообщения: 65

Surayu Известность не заставит себя ждать
bat файл для установки 1с на разные версии windows

Привет!
Крч появилось задание написать батник для подкидывания его в групповые политики, чтоб автоматом разворачивалась 1С. Казалось бы ничего особого, но в организации есть W7 и XP
У меня получилась следующая штука:
set dir=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst
If Exist "C:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" (
goto end
set dir=с:\Program Files\1cv8\8.3.12.1595\ExtDst
If Exist "C:\Program Files\1cv8\8.3.12.1595\ExtDst" (
goto end
) Else (
Echo Папки %computername% нет
"\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0
exit
)
:end
pause
exit

Все правильно сделал? Или лучше два разных файла и две разных политики и в них указать отдельно машины с разными системами? Мне нужно как лучше и эффективней
__________________
Владение русской орфографией - это как владение кунг-фу, настоящие мастера не применяют его без необходимости © Ad
Surayu вне форума  
Старый 24.01.2019, 11:03     # 2
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 377

Borland - Гад и сволочь
Surayu
Конструкция несколько громоздкая, но ошибок (на первый взгляд) не вижу. (Сразу скажу - правильность команды установки 1С оценивать не могу, не сталкивался).
Я бы сделал несколько по-другому:
Код:
@echo OFF
if /I "%PROCESSOR_ARCHITECTURE%" == "x86" (
	set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst"
) else (
	set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst"
)
pushd "%TARGETDIR%" && goto :INSTALLED
"\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0
goto :EOF

:INSTALLED
echo Папка "%TARGETDIR%" уже существует. Выход без установки программы.
pause
goto :EOF
Повторюсь, команду инсталляции 1С я не проверял. Её правильность - на вашей совести.
Комментарий Модератора:
Borland:
См. примечание в следующем посте!!!
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий


Последний раз редактировалось Borland; 03.09.2019 в 02:02. Причина: коммент
Borland вне форума  
Старый 03.09.2019, 02:03     # 3
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 377

Borland - Гад и сволочь
Есть маленькая тонкость с определением разрядности ОС: значение переменной окружения "PROCESSOR_ARCHITECTURE" зависит от разрядности командного процессора (cmd.exe). В принципе, "по умолчанию" в x64-системе cmd-скрипты запускаются именно в 64-битном cmd.exe (C:\Windows\System32\cmd.exe). Но мало ли что... К примеру, если запускать скрипт из-под 32-битного файл-менеджера (FAR, Total Commander и т.п.), то будет запущена именно 32-битный командный процессор (C:\Windows\SysWOW64\cmd.exe). Соответственно, разрядность ОС будет определена неверно...

Точно опеределить разрядность системы можно с использованием wmic:
Код:
(wmic path Win32_processor get AddressWidth| 1>nul 2>&1 find /i "64") && set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" || set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst"
Окончательно скрипт будет выглядеть так:
Код:
@echo OFF
(wmic path Win32_processor get AddressWidth| 1>nul 2>&1 find /i "64") && (
	set "TARGETDIR=с:\Program Files (x86)\1cv8\8.3.12.1714\ExtDst" 
) || (
	set "TARGETDIR=с:\Program Files\1cv8\8.3.12.1714\ExtDst"
)

pushd "%TARGETDIR%" && goto :INSTALLED
"\\сервер\distrib\1c\v8.3\8.3.13.1644\1CEnterprise 8.msi" /qr TRANSFORMS=adminstallrelogon.mst;1049.mst DESIGNERALLCLIENTS=1 THICKCLIENT=1 THINCLIENTFILE=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0
goto :EOF

:INSTALLED
echo Папка "%TARGETDIR%" уже существует. Выход без установки программы.
pause
goto :EOF
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума  

Теги (метки)
bat, cmd

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:09.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.