Commit 9a6a1126 authored by Alexandre Julliard's avatar Alexandre Julliard

setupapi: Add support for a WinePreInstall section for registry keys that need…

setupapi: Add support for a WinePreInstall section for registry keys that need to be created before anything else.
parent 45a6619e
...@@ -91,6 +91,7 @@ static const WCHAR Name[] = {'N','a','m','e',0}; ...@@ -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 CmdLine[] = {'C','m','d','L','i','n','e',0};
static const WCHAR SubDir[] = {'S','u','b','D','i','r',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 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 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 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}; 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, ...@@ -1067,6 +1068,15 @@ BOOL WINAPI SetupInstallFromInfSectionW( HWND owner, HINF hinf, PCWSTR section,
BOOL ret; BOOL ret;
int i; 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) if (flags & SPINST_FILES)
{ {
struct files_callback_info info; struct files_callback_info info;
......
...@@ -80,6 +80,7 @@ AddReg=\ ...@@ -80,6 +80,7 @@ AddReg=\
[DefaultInstall.ntamd64] [DefaultInstall.ntamd64]
RegisterDlls=RegisterDllsSection RegisterDlls=RegisterDllsSection
WineFakeDlls=FakeDlls WineFakeDlls=FakeDlls
WinePreInstall=Wow64
UpdateInis=SystemIni UpdateInis=SystemIni
CopyFiles=@l_intl.nls CopyFiles=@l_intl.nls
AddReg=\ AddReg=\
...@@ -102,8 +103,7 @@ AddReg=\ ...@@ -102,8 +103,7 @@ AddReg=\
SessionMgr,\ SessionMgr,\
Tapi,\ Tapi,\
Timezones,\ Timezones,\
VersionInfo,\ VersionInfo
Wow64
[Wow64Install] [Wow64Install]
RegisterDlls=RegisterDllsSection RegisterDlls=RegisterDllsSection
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment