Flasher писал(а):тогда не проще проверять по архитектуре ОС?
У меня стоят ТС обеих разрядностей и в каждом стоит кнопка соответствующей разрядности. Думаю, что такое может быть и у других пользователей.
Также пользователь х64 ОС может не желать использовать беты ТС и будет продолжать пользоваться ТС 7, т.е. х86. Значит ему и кнопка х64 может не пригодится.
В любом случае кнопка и ТС одной разрядности - лучший вариант.
For Each p in GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("SELECT CreationClassName, CSCreationClassName, OSCreationClassName FROM Win32_Process WHERE ExecutablePath Like '" & Replace(CreateObject("WScript.Shell").Environment("Process")("COMMANDER_EXE"),"","\")& "'")
MsgBox p.CreationClassName & vbNewline & p.CSCreationClassName & vbNewline & p.OSCreationClassName
Next
Что покажет - скинуть сюда.
2All: Кто-нибудь, у кого 64-система, подключитесь, это полминуты проверить.
Одним из способов получения местоположения ini файлов в старых версиях ТС, до введения соответствующей переменной был программный запуск About и чтение адресов из него. Думаю возможно воспользоваться тем же методом и для получения информации о разрядности ТС.
Например в моём About'е написано:
Total Commander Version 7.55a 32 bit (7.7.2010)
OS -> TC -> SFX -> CMD (батник)
1 OS - х64 или x86
2 TC - х64 или x86
3 SFX - всегда x86
4 CMD сейчас x86, но может запускаться в среде с разрядность OS (если это нужно разработчику)
gora
Мне главное цепочка, битности не нужны. Скрипт что должен запускать? Установщик, батник или что?
Или он должен просто какое-то значение возвращать?
Flasher
Какой скрипт? Мне нужно определить разрядность запущенного ТС. Я это делаю из батника и там же принимается решение о дальнейших действиях. Вот собственно и вся задача.
Можно увидеть реализацию?
....
Скрипт нужен для инсталлятора. Он должен определить разрядность запущенного ТС (из которого запущен сам инсталлятор/скрипт) автоматически, без вмешательства пользователя.
PS.
Скрипт при этом будет располагаться во временной папке.
Flasher
Хотел увидеть как можно получить разрядность запущенного ТС с помощью vbs. Использовать совместно батник и vbs для меня не зазорно. У меня и сейчас два vbs скрипта запускаются из этого батника, ну будет три...