![]() |
Ограничения доступа к реестру Windows
Здравствуйте.
Наткнулся на ограничение по доступу на чтение к ветвям реестра Windows (Win7, Win server 2008) такого вида: Команды экспорта реестра в файл: reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer" и reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders" Первая отрабатывает, если запускать ее из командной строки (cmd.exe) и из стороннего коммандера (unreal commander). Вторая команда отрабатывает только из командной строки. Запуск из других приложений - приводит к сообщению "Ошибка: Не удается найти указанный раздел или параметр в реестре.". Все запускается под пользователем, который является на машинах Локальным админом. Проставление полного доступа к вложенным веткам для "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer" в редакторе реестра - ни к чему не приводит. Собственно, доступ имеется, т.к. из командной строки экспорт реестра работает нормально. Подскажите пожалуйста, что это может быть за ограничение. |
mrFduch, разрядность ОС — x64? А:
Цитата:
|
Верное предположение!
Хотя мне не хватает знаний о работе x86-приложений под ОС 64-bit, что бы за него зацепиться. |
mrFduch, тогда, полагаю, дело вот в чём: при работе x86-приложений в x64-окружении включается т.н. редирект — ОС перенаправляет обращения функций WinAPI к ряду предопределённых
То есть, исполняя: Код:
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders" Скучные подробности (вкратце): File System Redirector (Windows) Registry Redirector (Windows) WoW64 - Wikipedia, the free encyclopedia (ну, и по ссылкам оттуда погулять). Какой выход из данной ситуации? Самое правильное — использовать x64-версию файлового менеджера (вроде как заявлена на сайте). На скриншоте в плагине Registry Browser файлового менеджера Far Manager показано содержимое обеих подразделов реестра: Скрытый текст
![]() На панели слева — как выглядит раздел «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer» для x64-приложения, на панели справа — что видят в том же разделе при перенаправлении x86-приложения. |
Спасибо, я с ограничением на доступ к реестру конечно заблуждался!
После Вашего вопроса начал думать примерно в том же направлении. Но т.к. меня интересует получение информации об установленных приложениях и не хочется привязываться к разрядности сервера 1С на котором будет выполняться код, буду брать информацию из ветки реестра "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall". Протестирую только, доступна ли она для x64 сервера приложений. За ссылки благодарю, с утра подходящее время для небольшого саморазвития! |
Время: 23:03. |
Время: 23:03.
© OSzone.net 2001-