Страница 3 из 9

Добавлено: Чт янв 19, 2012 21:14
gora
Flasher писал(а):для какого ТС устанавливать кнопку в общую папку?
Для того ТС, который запущен. Запустит х86 ТС - получит установку х86 кнопки, запустит х64 ТС - получит х64 кнопку. Это выбор пользователя.
Flasher писал(а):Ведь wincmd.ini общий
Кнопка не использует его и не прописывается в нем.
Flasher писал(а):а 32-разрядная кнопка на TCx64 не работает?
Работает.

Добавлено: Чт янв 19, 2012 21:18
Flasher
gora писал(а):Работает.
Хм. Коли так, тогда не проще проверять по архитектуре ОС? Ведь TCx64 на 32-битной ОС использовать нет смысла. :idea:

Добавлено: Чт янв 19, 2012 21:28
gora
Flasher писал(а):тогда не проще проверять по архитектуре ОС?
У меня стоят ТС обеих разрядностей и в каждом стоит кнопка соответствующей разрядности. Думаю, что такое может быть и у других пользователей.
Также пользователь х64 ОС может не желать использовать беты ТС и будет продолжать пользоваться ТС 7, т.е. х86. Значит ему и кнопка х64 может не пригодится.
В любом случае кнопка и ТС одной разрядности - лучший вариант.

Добавлено: Чт янв 19, 2012 21:38
Flasher
gora
А Кнопкаx64 из TCx32 на Winx64 разве не работает?

Добавлено: Чт янв 19, 2012 21:46
gora
Flasher
Работает, но я не думаю, что это правильно.
Мы уже отклонились от темы ветки.

Добавлено: Пт янв 20, 2012 00:31
Flasher
gora писал(а):но я не думаю, что это правильно.
А по-моему, как раз правильно. Именно так и надо ставить, ИМХО.

Вроде уже знаю, что делать. Для начала из TCx64pb10+ надо вызвать vbs:

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

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-система, подключитесь, это полминуты проверить.

Добавлено: Пт янв 20, 2012 13:08
CaptainFlint
Win7 x64 SP1, TC 8.0β16 x64:
---------------------------

---------------------------
Win32_Process

Win32_ComputerSystem

Win32_OperatingSystem
---------------------------
ОК
---------------------------

Добавлено: Пт янв 20, 2012 13:11
Flasher
CaptainFlint
Спасибо за отзыв.
Хм. Тогда по другому сделаю.

Добавлено: Пт янв 20, 2012 17:31
Lev
Одним из способов получения местоположения ini файлов в старых версиях ТС, до введения соответствующей переменной был программный запуск About и чтение адресов из него. Думаю возможно воспользоваться тем же методом и для получения информации о разрядности ТС.
Например в моём About'е написано:
Total Commander Version 7.55a 32 bit (7.7.2010)

Добавлено: Пт янв 20, 2012 17:46
Flasher
Так там надо строки расшифровывать в ini, Не, не пойдёт.

gora
Я могу всё сделать, только мне нужна цепочка программ. Точнее их число.
Т.е. TC > установщик > батник > скрипт. Или как-то ещё.

Добавлено: Пт янв 20, 2012 20:19
gora
Flasher писал(а):нужна цепочка программ.
OS -> TC -> SFX -> CMD (батник)
1 OS - х64 или x86
2 TC - х64 или x86
3 SFX - всегда x86
4 CMD сейчас x86, но может запускаться в среде с разрядность OS (если это нужно разработчику)

Добавлено: Пт янв 20, 2012 20:33
Flasher
gora
Мне главное цепочка, битности не нужны. Скрипт что должен запускать? Установщик, батник или что?
Или он должен просто какое-то значение возвращать?

Добавлено: Пт янв 20, 2012 20:39
gora
Flasher
Какой скрипт? Мне нужно определить разрядность запущенного ТС. Я это делаю из батника и там же принимается решение о дальнейших действиях. Вот собственно и вся задача.

Добавлено: Пт янв 20, 2012 20:40
Flasher
gora
А как же?:
gora писал(а):
Flasher писал(а):На vbs можно ещё одним способом
Можно увидеть реализацию?
....
Скрипт нужен для инсталлятора. Он должен определить разрядность запущенного ТС (из которого запущен сам инсталлятор/скрипт) автоматически, без вмешательства пользователя.
PS.
Скрипт при этом будет располагаться во временной папке.

Добавлено: Пт янв 20, 2012 20:51
gora
Flasher
Хотел увидеть как можно получить разрядность запущенного ТС с помощью vbs. Использовать совместно батник и vbs для меня не зазорно. У меня и сейчас два vbs скрипта запускаются из этого батника, ну будет три... :)