View previous topic :: View next topic |
Author |
Message |
spacekon
Joined: 19 Jul 2009 Posts: 3
|
(Separately) Posted: Mon Jan 18, 2010 14:42 Post subject: Внесение данных в реестр на Win7 х64 |
|
|
Запускаю из под TC 7.50a на Win7 х64 reg-файл следующего содержания:
Windows Registry Editor Version 5.00
;Чтобы открывались chm-файлы справки по сети
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000001
;Просто для теста
[HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip]
"Path"="C:\\Program Files\\7-Zip\\"
"123"=dword:00000001
но значения в реестр не вносятся, хотя появляется окно, что данные успешно занесены в реестр!
Работаю под локальным администратором, TC запускал как от имени админа, так и просто. Самое интересное, что если этот reg-файл запустить через проводник, то все нормально вносится в реестр!
На Win7 х32 тоже все нормально работает.
Что за беда?
! | Avada: | Заголовок темы уточнил, иначе она рискует превратиться в свалку: внесение данных в реестр много к чему относится. | |
|
Back to top |
|
 |
Rodny

Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Mon Jan 18, 2010 15:24 Post subject: |
|
|
spacekon
Цитаты с другого форума и про другую программу. Но смысл понятен:
BakLAN wrote: | У меня ХР х64 и я уже давно заметил, что при помощи Reg-файлов почему-то не во все ветки реестра можно добавить записи. При помощи консольной утилиты REG добавляется через раз. |
GORA2 wrote: | reg файл создается в папке программы и потом запускается, видимо, cmd (мелькает консольное окно), возможно из него запускается regedit, но дело в том, что в х64 существуют два cmd.exe и два regedit.exe. Каждый из них запускается из своей "среды". Если запуск происходит из х64 приложения, то вызывается х64 версия cmd и/или regedit и доступ к этой ветке реестра есть. Проверить, какая версия regedit запущена, можно, посмотрев на процессы в диспетчере, у 32х разрядных будет добавлена метка *32.
Если reg файл, который был приведен на прошлой странице, запустить двойным кликом из ТС (32х разрядное приложение), то информация в реестр не попадает, а если по этому же файлу кликнуть из Проводника (64х разрядное приложение), то информация в реестр попадает. |
|
|
Back to top |
|
 |
spacekon
Joined: 19 Jul 2009 Posts: 3
|
(Separately) Posted: Mon Jan 18, 2010 16:34 Post subject: |
|
|
Rodny wrote: | Цитаты с другого форума и про другую программу. Но смысл понятен:
|
Так что же, это же каждый раз в TC надо правой кнопкой на reg-файл, выбирать X64 =>Открыть с помощью... : Редактор реестр ???
Жутко неудобно и каждый раз перед запуском reg-файл надо об этом помнить!
И просвета в этом вопросе, как я понимаю не предвидется, поскольку TC x64 не будет...  |
|
Back to top |
|
 |
Rodny

Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Mon Jan 18, 2010 17:03 Post subject: |
|
|
spacekon
Не знаю, есть ли в этом смысл. А что, если настроить внутреннюю ассоциацию для открытия *.reg в regedit.exe x64 ... |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Mon Jan 18, 2010 17:10 Post subject: |
|
|
spacekon
Раз система 64-битная, помнить об этом придётся в любом случае. Думаю, Тотал — не единственная 32-битная программа на компе.
Упростить себе жизнь можно при помощи внутренних ассоциаций или дополнительных кнопок. Конкретно с regedit надо отдельно разбираться, система его как-то хитро редиректит. Можно скопировать Проводником (ну или Тоталом с временно выключенным редиректом) файл C:\WINDOWS\regedit.exe в, скажем, C:\WINDOWS\regedit64.exe, а после этого в Тотале создать ассоциацию для REG-файлов на этот regedit64.exe. Но надо иметь в виду, что некоторые ветки реестра тоже виртуализованы, и что REG-файл может быть рассчитан только на 32-битные системы. Если такой файл импортировать в реестр без виртуализации, то 32-битные программы не увидят изменений. В общем, с каждым случаем придётся разбираться отдельно. Так повелела Microsoft.
Rodny wrote: | А что, если настроить внутреннюю ассоциацию для открытия *.reg в regedit.exe x64 |
Не знаю, как в Семёрке, у меня на XP x64 regedit.exe сидит в C:\Windows и является 64-битным, но когда к нему пытается обратиться 32-битная программа, винда подсовывает ему C:\Windows\SysWOW64\regedit.exe (32-битный). Получается, одним лишь каталогом system32 редирект не ограничивается. Поэтому я написал выше про копирование. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Sat Jan 23, 2010 17:05 Post subject: |
|
|
Вообще, информация-то в реестр попадает, но нужно учитывать, что папка Software для 32-битных программ отделена от общей папки Software и расположена в ее подпапке Wow6432Node, и подставляется вместо оригинальной при обращении. Т.е. из 32-битной программы запускается 32-битный редактор реестра, и изменения вносятся только в разделы, доступные 32-битным программам.
При необходимости запустить именно 64-битный редактор реестра нужно прописывать полный путь к нему (сейчас у меня не 64-битная винда, поэтому точно сказать не могу, но помню точно, что мог запускать прямо из ТК regedit, имеющий доступ к 64-битным записям, указывая полный путь к файлу - нужно попробовать запустить C:\Windows\regedit.exe).
Это точно как и с папкой System32 в 64-битной винде - когда вы обращаетесь к ней из 32-битной программы, система подставляет на самом деле вместо папки System32 папку SysWOW64. Свои мысли на эту тему я писал тут (не сочтите за рекламу ресурса). Чтобы понять, та ли это папка, надо поискать в ней то, чего нет в 32-битной папке (например, в папке System32 это подпапка drivers с драйверами, а в реестре в Software - то, чего нет в ключе Software\Wow6432Node - в 32-битном редакторе реестра можно бесконечно входить в подключ Wow6432Node. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Sat Jan 23, 2010 18:25 Post subject: |
|
|
MVV wrote: | нужно попробовать запустить C:\Windows\regedit.exe |
Не поможет. Этот путь редиректится, как я написал выше, и подсовывается 32-битная версия regedit.exe. Единственным способом является либо временное отключение редиректа в Тотале, либо предварительное копирование файла regedit.exe. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Sun Jan 24, 2010 10:18 Post subject: |
|
|
Мне нужно Total Commander прописать в реестре...
У кого-нибудь случаем не завалялся reg по этому поводу?
Задать реестру местоположение TC для работы с утилитой tc2mp. (%TOTAL COMMANDER%) _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10417 Location: Россия, Саратов
|
(Separately) Posted: Sun Jan 24, 2010 12:13 Post subject: |
|
|
ackep
Поиск по форуму рулит. Например, вот. А также (в TCKB) здесь и здесь. А также утилита TCDir (тоже упоминалась на форуме — см. , например, здесь и здесь).
В данной теме этот конкретный вопрос больше не обсуждаем (прошу обратить внимание, что заголовок темы уточнён). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jan 27, 2010 19:42 Post subject: |
|
|
CaptainFlint wrote: | MVV wrote: | нужно попробовать запустить C:\Windows\regedit.exe |
Не поможет. Этот путь редиректится, как я написал выше, и подсовывается 32-битная версия regedit.exe. Единственным способом является либо временное отключение редиректа в Тотале, либо предварительное копирование файла regedit.exe. |
Дело в том, что когда я с этим экспериментировал, никакой редирект я не отключал, и точно помню, что запускался 64-битный regedit, когда я прописывал полный путь к файлу - но я сейчас не могу сказать точно, к какому именно - нужно пробовать на 64-битной системе (по идее, это должен быть C:\Windows\System32\regedit.exe). _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Wed Jan 27, 2010 20:13 Post subject: |
|
|
MVV wrote: | Дело в том, что когда я с этим экспериментировал, никакой редирект я не отключал, и точно помню, что запускался 64-битный regedit, когда я прописывал полный путь к файлу - но я сейчас не могу сказать точно, к какому именно - нужно пробовать на 64-битной системе (по идее, это должен быть C:\Windows\System32\regedit.exe). |
Я тоже думал, что он должен быть там. Однако его там нет. Сейчас проверил на двух 64-битных системах — XP и Win7, результаты такие:
XP:
64-битная версия файла располагается в C:\Windows\regedit.exe, 32-битная — в C:\WINDOWS\SysWOW64\regedit.exe. Файла C:\WINDOWS\System32\regedit.exe не существует. При любых обращениях к C:\Windows\regedit.exe с неотключённым редиректом Тотал получает 32-битную версию (в том числе, при запуске); с отключённым редиректом — 64-битную.
Win7:
Так же, как в XP, 64-битная версия файла располагается в C:\Windows\regedit.exe, 32-битная — в C:\WINDOWS\SysWOW64\regedit.exe. Файла C:\WINDOWS\System32\regedit.exe не существует. Однако в отличие от XP, здесь обращения к 64-битной версии не редиректятся.
Получается, зря я поверил Microsoft'у, когда прочитал у них, что regedit.exe редиректится независимо от системы… _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Aoeu_H
Joined: 12 Sep 2012 Posts: 1
|
(Separately) Posted: Thu Sep 13, 2012 00:31 Post subject: |
|
|
решил проблему установив внутренние ассоциации: рег файл запускается через "c:\windows\explorer.exe" |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|