setupapi: Add support for a WinePreInstall section for registry keys that need to be created before anything else.

This commit is contained in:
Alexandre Julliard 2012-05-30 20:25:37 +02:00
parent 45a6619e44
commit 9a6a1126b9
2 changed files with 12 additions and 2 deletions

View file

@ -91,6 +91,7 @@ static const WCHAR Name[] = {'N','a','m','e',0};
static const WCHAR CmdLine[] = {'C','m','d','L','i','n','e',0};
static const WCHAR SubDir[] = {'S','u','b','D','i','r',0};
static const WCHAR WineFakeDlls[] = {'W','i','n','e','F','a','k','e','D','l','l','s',0};
static const WCHAR WinePreInstall[] = {'W','i','n','e','P','r','e','I','n','s','t','a','l','l',0};
static const WCHAR DisplayName[] = {'D','i','s','p','l','a','y','N','a','m','e',0};
static const WCHAR Description[] = {'D','e','s','c','r','i','p','t','i','o','n',0};
static const WCHAR ServiceBinary[] = {'S','e','r','v','i','c','e','B','i','n','a','r','y',0};
@ -1067,6 +1068,15 @@ BOOL WINAPI SetupInstallFromInfSectionW( HWND owner, HINF hinf, PCWSTR section,
BOOL ret;
int i;
if (flags & SPINST_REGISTRY)
{
struct registry_callback_info info;
info.default_root = key_root;
info.delete = FALSE;
if (!iterate_section_fields( hinf, section, WinePreInstall, registry_callback, &info ))
return FALSE;
}
if (flags & SPINST_FILES)
{
struct files_callback_info info;

View file

@ -80,6 +80,7 @@ AddReg=\
[DefaultInstall.ntamd64]
RegisterDlls=RegisterDllsSection
WineFakeDlls=FakeDlls
WinePreInstall=Wow64
UpdateInis=SystemIni
CopyFiles=@l_intl.nls
AddReg=\
@ -102,8 +103,7 @@ AddReg=\
SessionMgr,\
Tapi,\
Timezones,\
VersionInfo,\
Wow64
VersionInfo
[Wow64Install]
RegisterDlls=RegisterDllsSection