From: Torge Matthies openglfreak@googlemail.com
Signed-off-by: Torge Matthies openglfreak@googlemail.com --- server/registry.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/server/registry.c b/server/registry.c index 3fea7dd79a4..794bdd12838 100644 --- a/server/registry.c +++ b/server/registry.c @@ -1892,10 +1892,18 @@ void init_registry(void) 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\', 'P','e','r','f','l','i','b','\', '0','0','9'}; + static const WCHAR system[] = {'S','y','s','t','e','m'}; + static const WCHAR ccs[] = {'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t'}; + static const WCHAR cs001[] = {'\','R','E','G','I','S','T','R','Y','\', + 'M','a','c','h','i','n','e','\', + 'S','y','s','t','e','m','\', + 'C','o','n','t','r','o','l','S','e','t','0','0','1'}; static const struct unicode_str root_name = { REGISTRY, sizeof(REGISTRY) }; static const struct unicode_str HKLM_name = { HKLM, sizeof(HKLM) }; static const struct unicode_str HKU_name = { HKU_default, sizeof(HKU_default) }; static const struct unicode_str perflib_name = { perflib, sizeof(perflib) }; + static const struct unicode_str system_name = { system, sizeof(system) }; + static const struct unicode_str ccs_name = { ccs, sizeof(ccs) };
WCHAR *current_user_path; struct unicode_str current_user_str; @@ -1973,6 +1981,19 @@ void init_registry(void) release_object( key ); }
+ if ((key = create_key_recursive( hklm, &system_name, current_time ))) + { + struct key *subkey; + subkey = create_key_object( &key->obj, &ccs_name, OBJ_OPENIF | OBJ_OPENLINK, 0, current_time, NULL ); + release_object( key ); + if (subkey) + { + subkey->flags |= KEY_SYMLINK; + set_value( subkey, &symlink_str, REG_LINK, cs001, sizeof(cs001) ); + release_object( subkey ); + } + } + release_object( hklm ); release_object( hkcu );