Войти

Показать полную графическую версию : Неполная интеграция твиков в install.wim. Почему?


Страниц : [1] 2

Pozia
07-12-2009, 12:28
Делаю интеграцию твиков по этому сценарию, как описано в учебнике.

@echo off
:: Укажите путь к папке, в которой находится install.wim
SET wimpath=C:\VistaWork\DVD\sources

:: Укажите путь к папке, в которую будет подключен образ
SET mountfolder=C:\VistaWork\Mount

:: Укажите путь к файлу с твиками реестра
:: Если этот командный файл и REG-файла находятся в одной папке,
:: достаточно указать только имя REG-файла
SET tweak=tweaks_hku.reg

ECHO.
ECHO Подключение образа
start /wait imagex /mountrw %wimpath%\install.wim 4 %mountfolder%
ECHO.
ECHO Импорт твиков реестра
reg load HKEY_USERS\Custom %mountfolder%\Users\Default\NTUSER.DAT
reg import %tweak%
reg unload HKEY_USERS\Custom
ECHO.
ECHO Отключение образа
imagex /unmount /commit %mountfolder%
ECHO.
ECHO Операция завершена!
pause
exit

Почти все твики вносятся. Кроме вот этих:

;+!!!+Настройка меню игр
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\GameUX]
"FirstRunDialogLaunched"=dword:00000001
"DownLoadGameInfo"=dword:00000000
"ListRecentlyPlayed"=dword:00000000
"GameUpdateOptions"=dword:00000002

;+!!!+Переключение языка ввода - Ctrl+Shift
[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Language Hotkey"="2"
"Hotkey"="2"

;+!!!+Отключение анимации окон при свертывании и развертывании
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"MinAnimate"="0"

Почему? чем они не подходят?
PS Естественно я заменяю HKEY_CURRENT_USER на HKEY_USERS\Custom

Vadikan
07-12-2009, 12:34
Почти все твики вносятся. Кроме вот этих: »
Т.е. даже после применения отдельного REG-файла с этими твиками в реестре WIM-образа не появляются изменения? А вручную? Или речь о том, что они не применяются после установки?

Pozia
07-12-2009, 12:55
Т.е. даже после применения отдельного REG-файла с этими твиками в реестре WIM-образа не появляются изменения? »
у меня есть один файл твиков HKCU. Я его интегрирую, часть вносятся, эти нет. Отдельно именно эти твики не пробовал интегрировать. Думаете им что то мешает интегрироваться?
А вручную? »
В каком смысле? на живой системе? Если да, то работают они как надо.
они не применяются после установки? »
Да. После установки я захожу в реестр и эти значения что должны быть по моим твикам стоят по дефолту.
Ветка [HKEY_CURRENT_USER\Keyboard Layout\Toggle] вообще пустая, так как там по умолчанию ничего нет

Vadikan
07-12-2009, 13:22
Pozia, надо подразделять "не вносятся" и "не применяются". Первое можно проверить с помощью редактора реестра после применения твиков к образу.

Если они не применяются, значит, перезаписываются во время установки.

Pozia
07-12-2009, 13:26
Первое можно проверить с помощью редактора реестра после применения твиков к образу. »
а как это сделать подскажите?Если они не применяются, значит, перезаписываются во время установки. »
так а что может твики эти перезаписывать? Ведь я их дефолтовый профиль внушу. Из него ведь все потом берется как я понимаю

Vadikan
07-12-2009, 14:18
а как это сделать подскажите? »
Открываете ntuser.dat дефолтного пользователя, переходите в раздел реестра, в который вы внесли твики из REG-файла и смотрите. Примерно так http://www.oszone.net/6167

так а что может твики эти перезаписывать? Ведь я их дефолтовый профиль внушу. Из него ведь все потом берется как я понимаю »
Но ведь при установке конфигурируются параметры пользователя, соотв. дефолтные могут быть перезаписаны. Импортируйте проблемные из FirstLogonCommands.

Pozia
07-12-2009, 14:26
Но ведь при установке конфигурируются параметры пользователя, соотв. дефолтные могут быть перезаписаны »
так из чего они перезаписываются? туда можно внести мои твики или туда доступ обычным смертным закрыт? )

Импортируйте проблемные из FirstLogonCommands. »
эти твики я так понимаю уже не увидят вновь создаваемые пользователи?

Vadikan
07-12-2009, 15:41
эти твики я так понимаю уже не увидят вновь создаваемые пользователи? »
Можно сделать с помощью RunOnceEx в HKCU - добавить команды на импорт REG-файла, лежащего где-нибудь в Windows. Это надо импортировать в дефолтный профиль, тогда у каждого пользователя будет такая команда. Будет выведен запрос UAC, впрочем.

Pozia
07-12-2009, 20:12
Vadikan, если я правильно понял то нужно в SetupComplete.cmd прописать запуск файла реестра в котором будет для моего случая следующее:

;+!!!+Настройка меню игр
[HKEY_USERS\.DEFAULT\\Software\Classes\Local Settings\Software\Microsoft\Windows\GameUX]
"FirstRunDialogLaunched"=dword:00000001
"DownLoadGameInfo"=dword:00000000
"ListRecentlyPlayed"=dword:00000000
"GameUpdateOptions"=dword:00000002

;+!!!+Переключение языка ввода - Ctrl+Shift
[HKEY_USERS\.DEFAULT\\Keyboard Layout\Toggle]
"Language Hotkey"="2"
"Hotkey"="2"

;+!!!+Отключение анимации окон при свертывании и развертывании
[HKEY_USERS\.DEFAULT\\Control Panel\Desktop\WindowMetrics]
"MinAnimate"="0"

Я правильно Вас понял?
Если да, то подскажите на коком проходе это происходит. Мне не нравится то что будет моргать дос окно от SetupComplete.cmd. Я лучше добавлю синхронную команду на нужный проход для выполнения данного твика реестра. Я так сделал для HKLM на 4-м проходе:

Regedit /S %WINDIR%\Setup\Scripts\HKLM.reg

Mr dUSHA
07-12-2009, 23:22
так из чего они перезаписываются? туда можно внести мои твики или туда доступ обычным смертным закрыт? ) »
В соседней ветке http://forum.oszone.net/thread-129139-4.html Boa Soft задавал уже вопрос о неприменении твиков. Там мы разобрались в частном порядке. У него пользовательские твики не применялись из скрипта SetupComplete.cmd, поскольку на этом этапе и HKU\.default, и HKCU - соответствуют системному профилю...

Но в общем случае, если вы импортируете пользовательские твики в куст реестра дефолтового пользователя-шаблона, как это описано в статьях на нашем сайте, то некоторые твики не сработают из-за Active Setup, который при первом входе созданного пользователя последовательно запускает автонастройку некоторых компонентов ОС, в том числе и настройку рабочего стола, темы рабочего стола IE, WMP.

Механизмы Active Setup и борьбу с ним в ХР я немного объяснял здесь (http://forum.oszone.net/showpost.php?p=815272) и здесь (http://forum.oszone.net/post-815690-366.html).
Для Windows 7 все абсолютно аналогично, за исключением собственно самого установщика ОС и самих твиков-заглушек в ветку реестра HKCU,Software\Microsoft\Active Setup\Installed Components\, блокирующих запуск тех Active Setup-компонентов, которые нам мешают.

Vadikan
07-12-2009, 23:42
У него пользовательские твики не применялись из скрипта SetupComplete.cmd, поскольку на этом этапе и HKU\.default, и HKCU - соответствуют системному профилю... »
Угу, я в статье это обозначил, ибо пользователь не выполнил вход, импорт невозможен.

Механизмы Active Setup и борьбу с ним в ХР я немного объяснял здесь и здесь. »
О, спасибо, я помню, что где-то это обсуждалось уже :)

Pozia
08-12-2009, 00:35
Спасибо за инфу, буду думать...

Unter
09-12-2009, 04:51
Pozia,
Я тоже сталкивался с подобным. У меня помогло, когда стал внедрять еще и в Windows\System32\config\default.

Pozia
09-12-2009, 13:43
Unter, и сейчас абсолютно все твики вносятся нормально?

Mr dUSHA
09-12-2009, 19:34
Unter, и сейчас абсолютно все твики вносятся нормально? »
Нет.
Ситуация точно такая, как и с ХР. При первом входе первого пользователя в систему Active Setup-ы сбрасывают многие настройки рабочего стола, IE, WMP. Нужно изготовить твики-заглушки.

У меня они вот такие (для чистого дистрибутива, без каких-либо интегрированых обновлений):

; Internet Explorer
[HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\>{26923b43-4d38-484f-9b9e-de460746276c}]
"Version"="8,0,7600,17136"
"Locale"="*"

; Browser Customizations (Branding)
[HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\>{60B49E34-C7CC-11D0-8953-00A0C90347FF}]
"Version"="8,0,7600,17136"
"Locale"="*"

; Web Platform Customizations
[HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}]
"Version"="8,0,7600,17136"
"Locale"="en"

; Microsoft Windows Media Player
[HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]
"Version"="12,0,7600,16385"
"Locale"="EN"

; Windows Desktop Update
[HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4340}]
"Version"="6,1,7600,16385"
"Locale"="en"


А по поводу интеграции твиков в куст реестра Windows\System32\config\default, то это на самом деле ветка HKEY_USERS\.DEFAULT, и туда имеет смысл интегрировать твики только для системного профиля.

Pozia
09-12-2009, 20:07
У меня они вот такие (для чистого дистрибутива, без каких-либо интегрированых обновлений): »
Это для ХР или Seven?

Mr dUSHA, сразу прочитав ваши ссылки махнул рукой, как то сложно показалось. Погулял по свежему воздуху (снежок пошел :) ), прочел еще раз, и понял суть. Буду копать по мере наличия времени. Спасибо!!!

Pozia
09-12-2009, 20:33
Mr dUSHA, поясните пожалуйста на русском что это:
; Browser Customizations (Branding)
; Web Platform Customizations
; Windows Desktop Update

Pozia
09-12-2009, 21:17
Тему пока открою. Как разберусь напишу что получилось.
После отработки такого "Active Setup"-компонента кроме проведенных им настроек в пользовательском профиле, в реестр добавляется соответствующая запись, в ветку:»

"Active Setup" вносит ТОЛЬКО настройки в реестр? или же он может еще что нибудь делать с файлами системы?

Mr dUSHA
10-12-2009, 00:40
Это для ХР или Seven? »
Для Seven конечно. Мы ж здесь именно о нем говорим.

поясните пожалуйста на русском что это: »
Первые две - настройки IE, третья - рабочего стола и оболочки.

"Active Setup" вносит ТОЛЬКО настройки в реестр? или же он может еще что нибудь делать с файлами системы? »
Теоретически - что угодно может делать. Это ж своего рода аналог RunOnce.
На практике - обычно делает какие-то настройки в реестре.

Вообще такой механизм автонастройки приложений для каждого пользователя персонально гораздо продвинутей обычного пользовательского RunOnce.
Суть в том, что на уже установленной ОС программа регистрирует свой обработчик Active Setup в общей системной ветке реестра в HKLM. Далее сама ОС для каждого пользователя персонально при его следующем логоне в систему запускает Active Setup-компонент, который производит какие-то настройки в профиле пользователя, а потом в текущей пользовательской ветке HKCU ставит отметку о том, что один раз он здесь уже запускался, и при следующем логоне запускаться уже не должен.

Если б устанавливаемая программа захотела использовать для своей донастройки пользовательского профиля пользовательский RunOnce, вызываемый одноразово при входе пользователя в систему, то ей пришлось бы перелопатить реестры всех пользователей, уже существующих в системе, и добавить в каждый из них запись RunOnce. Это перелопачивание представляло б собой тупой поиск всех папок пользовательскими профилями, монтирование всех найденных в них реестров, и добавление туда записей.

Xtreme1993
10-12-2009, 00:49
Pozia,
А при помощи чего их вообще можно интегрировать??????




© OSzone.net 2001-2012