Кому необходимо запускать с помощью 32-битного sfx-модуля cmd-скрипт ориентированный на обработку 64-битным cmd.exe, вот рабочее решение:
К примеру, есть скрипт
Setup_64.cmd, ориентированный на использование 64-битной версии cmd.exe.
В папку Tools помещаем 64-битный cmd.exe из папки C:\Windows\System32
(копировать только через 64-битный софт, иначе будет редирект в папку C:\Windows\SysWow64 и Вы скопируете 32-битный cmd.exe).
Подтверждением того, что Вы используете 64-битную версию коммандного процессора, может служить его соответствующее отображение в диспетчере задач, т.е. без идентификатора
*32.
Создаем скрипт, к примеру Start.cmd c содержанием:
Код:
@echo off
.\Tools\cmd.exe /Q /K "call Setup_64.cmd"
exit
Теперь запускаем из sfx - скрипт Start.cmd - он будет запущен с помощью 32-битной версии cmd.exe (В диспетчере задач увидете
cmd.exe *32), а скрипт Start_64.cmd уже будет вызван с помощью 64-битной версии cmd.exe (в диспетчере задач увидете рядом с
cmd.exe *32 -
cmd.exe - это и будет среда выполнения скрипта Start_64.cmd.
Тут немного подробнее о вышесказанном...