Показать полную графическую версию : [решено] Импорт параметров реестра в HKLM из SFX в Windows 7 x64
эффект достигается....(но не туда »
Да какая разница куда... Работает и все :)
Сорри, просмотрел разрядность в конфигурации. В общем, проблема решена, причина поведения понятна.
В общем, проблема решена, причина поведения понятна »....
хм... а вы бы не могли чуть подробнее обьяснить (как для чайника) а то я что-то не до конца понял причину поведения и уж тем более проблема не решена для меня...
P.S особенно не понятно почему при "ручном применении" добавляет куда нужно, а с помощью сторонней программы в другую ветку реестра! И как все таки должен правильно выглядеть твик ?
хм... а вы бы не могли чуть подробнее обьяснить (как для чайника) а то я что-то не до конца понял причину поведения »
Я вряд ли смогу объяснить это понятнее, чем написано в MSDN. Перенаправление реестра само по себе является сложной концепцией.
особенно не понятно почему при "ручном применении" добавляет куда нужно, а с помощью сторонней программы в другую ветку реестра! »
Думаю, потому что WinRAR - 32-разрядное приложение. А когда вы запускаете командный файл вручную, он обрабатывается в 64-разрядном контексте.
И как все таки должен правильно выглядеть твик ? »
Он правильно выглядит у вас.
уж тем более проблема не решена для меня... »
Проблемы изначально не было, потому что вы зациклились на поиске параметров в реестре, а не на конечном рез-те, который достигается выполнением команды.
Vadikan,Думаю, потому что WinRAR - 32-разрядное приложение »
версия Winrar как раз х64..
Он правильно выглядит у вас.
Проблемы изначально не было, потому что вы зациклились на поиске параметров в реестре, а не на конечном рез-те, который достигается выполнением команды. »
Задам вопрос по другому.... как добиться того, чтобы при выполнении твика сторонней программой, нужные параметры прописываались именно в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation а не в HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation) - это и есть моя проблема...!
P.S. к примеру команда reg copy HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /s /f также не дает нужного результата при запуске сторонним приложением..
потому что вы зациклились на поиске параметров в реестре, а не на конечном рез-те »
в том то и дело, что конечный результат не правильный/не желаемый.. добавляем в одну ветку реестра, а результат наблюдаем в другой ветке.. (ладно бы если б дублировалось в двух ветках, а так только в одной ну и конечный результат, как следствие, отрицательный!)
версия Winrar как раз х64.. »
Но ведь WinRAR не участвует в этом процессе...
Задам вопрос по другому.... как добиться того, чтобы при выполнении твика сторонней программой, нужные параметры прописываались именно в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation а не в HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation) - это и есть моя проблема...! »
Ваша проблема в том, что вы уперлись в стену и не хотите видеть ничего, кроме параметров и разделов реестра. Вы не видите параметров там, где вы их хотите увидеть, потому что так работает ОС. Нужно видеть большую картину - ведь ОС видит их там, где нужно, поэтому все работает.
в том то и дело, что конечный результат не правильный/не желаемый.. добавляем в одну ветку реестра, а результат наблюдаем в другой ветке.. »Ну и что? А какая разница, где это отображается для вас? Не смотрите в реестр, и все будет хорошо.
Вас, кстати, не напрягает, что в меню пуск размещены ярлыки к программам, при том что сами программы не установлены в папку Start Menu?
В общем, я исчерпал запас объяснений и фантазию. Если мне не удалось вас разубедить в том, что система неправильно работает, я весьма сожалею о потраченном времени...
P.S. По-моему, я знаю, как вас убедить... Выполните в пуск - выполнить %systemroot%\syswow64\regedit
и перейдите в раздел реестра, где вы ожидаете увидеть параметры.
См. также How to view the system registry by using 64-bit versions of Windows (http://www.microsofttranslator.com/bv.aspx?from=&to=ru&a=http://support.microsoft.com/kb/305097) (с переводом)
Vadikan,
очень благодарен Вам за ваше время и объяснения...
Если мне не удалось вас разубедить в том, что система неправильно работает »
Дак я и изначально понимал, что система работает правильно,но от того что я это осознаю ничего не меняется (в плане результата), а поэтому вернемся к "нашим баранам":
есть батник и файл .bmp запакованые в sfx-архив.После рапаковки sfx запускает батник, который в свою очередь добавляет ветки реестра и копирует .bmp в нужную папку. На выходе получаем доп. изображение в "МК"-"свойства",
А какая разница, где это отображается для вас? » в том то и дело, что мне вообще все равно как оно отображается, но к сожалению добавление нужных параметров в ветку HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation не дает нужный результат (доп. изображение в "МК"-"свойства").Результат положительный только в случае добавления параметров именно в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation! (на данный момент этого можно достичь только запуском батника "вручную")
Как то можно заставить систему понимать запуск сторонней программой, как запуск "вручную" под учеткой админа?.. или единственный выход в моей ситуации это только "ручной " запуск данного батника?
P.S. я надеюсь, что на этот раз правильно сформулировал свой вопрос, а то у меня такое впечатление, что мы с вами на разных языках говорим: я вам о конечном результате(доп. изображение в "МК"-"свойства"), а вы мне о специфике работы с реестром Win 7 x64!
9119, гм... Правильно ли я понимаю, что при запуске батника из SFX:
а) параметры находятся в Wow6432Node
б) в свойствах системы не отображается логотип
Так?
Если так, то попробуйте такой вариант. В батнике команда:
%systemroot%\syswow64\regedit /s reg.reg
Правильно ли я понимаю »
Абсолютно правильно вы меня поняли!....:Beer:
%systemroot%\syswow64\regedit /s reg.reg - не помогло!...все равно при запуске праметры идут в ветку Wow6432Node..(
иначе http://oszone.net/8597#before »
импорт до установки OS не подходит, т.к. нужно решенеие этого вопроса непосредственно в "живой" системе..
На данный момент решение есть только в "ручном" запуске....буду искать дальше!Спасибо за потраченное время!
9119, понятно, но есть еще подходы :) Я опишу все, т.к. не могу проверить их сам.
Первый - Установка приложений способом RunOnceEx (http://oszone.net/8610) в двух вариациях.
SFX настраивается на распаковку файлов на рабочий стол без их удаления (это потом решить можно (http://oszone.net/6159)) и содержит два файла: reg.reg с твиками и командный файл вида
@echo off
SET KEY=HKCU\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100
REG ADD %KEY% /V TITLE /D "Установка приложений" /f
REG ADD %KEY%\%i% /VE /D "REG ADD" /f
REG ADD %KEY%\%i% /V 1 /D "REGEDIT /S %userprofile%\desktop\reg.reg" /f
SET /A i+=1
rundll32.exe iernonce.dll,RunOnceExProcess
Командный файл запускается, вносит параметры в реестр (HKCU) и запускает RunOnceEx. Не уверен, что сработает... скорее - вторая вариация будет лучше...
Второй вариацией этого способа является замена последней команды на перезагрузку типа shutdown /r, при этом должен быть сконфигурирован автоматический вход в систему (http://oszone.net/8598#autologon).
Второй способ - с тем же подходом к распаковке. Командный файл импортирует команду в планировщик с последующим вызовом. Ваш командный файл должен иметь вид
;Импорт задачи MyImport
%WINDIR%\system32\Schtasks.exe /Create /RL Highest /TN MyImport /SC "ONCE" "regedit /s %userprofile%\desktop\reg.reg"
;Запуск задачи MyImport
%WINDIR%\system32\Schtasks.exe /Run /TN MyImport
Пробуйте :)
Boa Soft
26-10-2010, 11:45
Есть еще один способ - положить в архив 64бит версию cmd.exe, переименовав его, например в cmd64.exe, и вызывать батник именно через него.
cmd64.exe /c ваш.bat
Boa Soft, интересный вариант. А можно ли вызвать 64-разрядную версию напрямую из системы, не включая в архив? Я уже предлагал %systemroot%\syswow64\regedit /s reg.reg чуть выше, но это не сработало. По-моему, это решение из той же оперы.
положить в архив 64бит версию cmd.exe »
не срабатывает..
Vadikan,
обе вариации первого способа не дают результат..
Вторым способом получаем следующее(я в начале команду копирования дописал):
http://s012.radikal.ru/i319/1010/e9/af80cdbd9d31t.jpg (http://radikal.ru/F/s012.radikal.ru/i319/1010/e9/af80cdbd9d31.jpg.html)
p.S. что-то не так с синтаксисом команды, но я что-то не смог разобраться что именно :lamer:
что-то не так с синтаксисом команды »
Угу... д.б. так
;Импорт задачи MyImport
%WINDIR%\system32\Schtasks.exe /Create /RL Highest /TN MyImport /SC "ONCE" /TR "regedit /s %userprofile%\desktop\reg.reg"
;Запуск задачи MyImport
%WINDIR%\system32\Schtasks.exe /Run /TN MyImport
Vadikan,
.... теперь пишет
ОШИБКА: не указано значение параметра /ST.
когда просто добавляю /ST в строчку пишет
ОШИБКА: Синтаксическая ошибка. Для '/ST' необходимо ввести значение.
Хотя в справке по параметру пишет вот что:
/ST <время_начала> Время запуска задачи. Формат
указания времени: ЧЧ:мм (24-часовой), например, 14:30
вместо 2:30 PM. Если параметр /ST не задан, то по
умолчанию используется текущее время. Этот параметр
должен использоваться вместе с /SC ONCE.
Что я не так делаю?
Lennyvets
26-10-2010, 19:12
9119,
у вас модуль SFX 32-битный:
http://s008.radikal.ru/i305/1010/ba/2915e6ebca0c.jpg
Lennyvets,
вы правы на 100%.. . проблема заключалась именно в этом! куда ж я глядел то! :o
проблема решена...:rupor:
ветки добавляются куда нужно без" лишних танцев с бубном" через:
regedit.exe /S reg.reg
Vadikan, Boa Soft, Lennyvets огромное спасибо за помощь!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.