TechnicsKuzya
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору GORA2, под 64-битной версией Windows XP/Vista/7. В вышеуказанных версиях Windows - есть режим эмуляции 32-битной среды. По-умолчанию, вы создаете скрипт и тестируете его работу в 64-разрядном приложении cmd.exe, но если Вы захотите его упаковать, к примеру с помощью 7-zip (sfx-модуль в данном архиваторе, пока что 32-разрядный), то возможно нарушение работы скрипта, т.к. 32-разрядный модуль sfx, будет вызывать 32-разрядную версию cmd.exe для обработки скрипта, при этом происходит изменение переменных среды для 32-битного режима. Коротко, если Вы хотите полноценно использовать 64-битную систему (доступ ко всем системным папкам, реестру и т.д.), cmd-скрипт необходимо запускать только с помощью 64-битной версии cmd.exe Если в таких системах пользоваться проводником или 64-битным файловым менеджером, то: 64-bit cmd.exe - расположен в %WinDir%\System32\cmd.exe 32-bit cmd.exe - расположен в %WinDir%\SysWOW64\cmd.exe При запуске cmd.exe из %WinDir%\SysWOW64\cmd.exe при попытке обращения к папке %WinDir%\System32 из командного процессора, Вы будете перенаправлены в папку %WinDir%\SysWOW64, т.к. 32-битное приложение не должно работать с папками предназначенными для 64-битных приложений. В принципе, в Vista/Seven x64 уже есть способ обхода данного ограничения, в XP x64 - только с применением специального технического обновления. Вышеуказанный способ универсальный для вышеуказанных систем. P.S. Выше я некорректно описал суть. Поэтому "64-битный cmd-скрипт" заменил на "cmd-скрипт ориентированный на обработку 64-битным cmd.exe", так точнее.
| Всего записей: 495 | Зарегистр. 02-02-2008 | Отправлено: 11:14 27-12-2009 | Исправлено: TechnicsKuzya, 11:27 27-12-2009 |
|