Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Автоматическое определение типа ОС - 32 или 64 бит.

Ответить
Настройки темы
[решено] Автоматическое определение типа ОС - 32 или 64 бит.

Аватара для LonerD

Ветеран


Сообщения: 1462
Благодарности: 336


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Возникла надобность сделать автоматическую установку приложений с автоматическим определением битности системы - 32 или 64 бит.
Пример. Запускается .bat- или .сmd-файл.
Если ОС 32-битная, то устанавливаются vcredist_2005.exe и vcredist_2008.exe.
Если ОС 64-битная, то устанавливаются vcredist_x64_2005.exe и vcredist_x64_2008.exe

Кто знает как это оформить?

Отправлено: 14:32, 07-06-2009

 


Moderator


Сообщения: 53288
Благодарности: 15459

Профиль | Отправить PM | Цитировать


DPavlik82, можно по наличию переменных типа ProgramW6432 (которые есть только в 64-битных системах).
Код: Выделить весь код
If "%ProgramW6432%" Neq "" Echo Это 64-битная ОС
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 07-06-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для LonerD

Ветеран


Сообщения: 1462
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, спасибо, попробую

Отправлено: 21:11, 07-06-2009 | #3


Аватара для LonerD

Ветеран


Сообщения: 1462
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin,
Попробовал - не помогло. Вот такая комманда (проверяется, если 64-битная, то запускается vcredist_x64_2005.exe)
Код: Выделить весь код
If "%ProgramW6432%" Neq "" vcredist_x64_2005.exe
Запускаю указанную строчку из коммандной строки на 32-битной ХР, - все равно начинается установка vcredist_x64_2005.exe.
Если создаю cmd-файл с указанным содержимым, то вообще ничего не пытается установиться.


Вот такой вариант тоже ни к чему не приводит:
Код: Выделить весь код
If "%ProgramW6432%" Neq "" <vcredist_x64_2005.exe> else vcredist_x86_2005.exe
Из cmd вообще никак не реагирует, а из коммандной строки на 32-битной системе тоже запускается vcredist_x64_2005.exe, еще вдобавок создается пустой файл else.

Отправлено: 14:02, 17-06-2009 | #4



Moderator


Сообщения: 53288
Благодарности: 15459

Профиль | Отправить PM | Цитировать


DPavlik82, прошу прощения, судя по этой ссылке переменная ProgramW6432 есть только в Windows 7 и Server 2008 R2.
Код: Выделить весь код
If "%PROCESSOR_ARCHITECTURE%"=="x86" (
  Start /Wait vcredist_x86_2005.exe
) Else (
  Start /Wait vcredist_x64_2005.exe
)
Цитата DPavlik82:
создаю cmd-файл
Разумеется, cmd-файл.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:10, 17-06-2009 | #5


Аватара для LonerD

Ветеран


Сообщения: 1462
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, не-а, и этот вариант не отработал.
И под 32-битной ХР, и под 64-битной семеркой запускается установка vcredist_x86_2005.exe.
А на заднем плане в обоих операционках красуется окно консоли с фразой:
Код: Выделить весь код
If "x86"=="x86" (Start /Wait vcredist_x86_2005.exe) Else (Start /Wait vcredist_x64_2005.exe)

Отправлено: 10:05, 18-06-2009 | #6



Moderator


Сообщения: 53288
Благодарности: 15459

Профиль | Отправить PM | Цитировать


DPavlik82, выложите результаты выполнения команды Set.

Отправлено: 10:12, 18-06-2009 | #7


Пользователь


Сообщения: 58
Благодарности: 9

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
IF EXIST "%ProgramFiles(x86)%" (ОС 64-битная, а проверяемая папка для 32-х битных программ)
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:48, 21-06-2009 | #8


Аватара для Devils0411

Ветеран


Сообщения: 902
Благодарности: 51

Профиль | Отправить PM | Цитировать


Встала такая же ситуация. Сделал код вот так:
Код: Выделить весь код
If exist "%programfiles(x86)% (
start /wait "%programfiles(x86)%\tftpd32\unins000.exe /Silent"
) else (
start /wait "%programfiles%\tftpd32\unins000.exe /Silent"
)
Не проверяет. Т.е. приложение не запускается.

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:19, 28-06-2009 | #9


Пользователь


Сообщения: 92
Благодарности: 7

Профиль | Цитировать


Видимо прикол состоит в том, что если запускать этот bat- Или cmd- файл из-под 32-битного FAR в 64-битной системе, то переменная PROCESSOR_ARCHITECTURE имеет значение "x86", так как FAR-то 32-битный

Отправлено: 21:59, 28-06-2009 | #10



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Автоматическое определение типа ОС - 32 или 64 бит.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] определение ATI Radeon HD4850 1Gb/256 бит производитель GigaByte Hattori_Hanzo Видеокарты 7 31-03-2010 10:31
[решено] автоматическое определение модели принтера nigra Microsoft Windows NT/2000/2003 4 02-12-2009 14:39
[решено] Определение типа кодека AC'97 Giorgievich Поиск драйверов, прошивок и руководств 7 15-01-2009 19:43
Как печатать из 64-бит. ОС, если дрова только для 32 бит. ОС? skeletor Microsoft Windows NT/2000/2003 3 17-12-2008 05:09
файл кодирован или бит? BYBY Хочу все знать 14 07-08-2005 00:54




 
Переход