advpack: Translate flags in LaunchINFSection.

Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Müller 2015-10-09 08:07:14 +02:00 committed by Alexandre Julliard
parent 8c9600b9fa
commit 10ff131325
3 changed files with 13 additions and 1 deletions

View File

@ -776,7 +776,11 @@ INT WINAPI LaunchINFSectionW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT sho
str_flags = get_parameter(&cmdline_ptr, ',', TRUE); str_flags = get_parameter(&cmdline_ptr, ',', TRUE);
if (str_flags) if (str_flags)
flags = atolW(str_flags); {
DWORD inf_flags = atolW(str_flags);
if (inf_flags & LIS_QUIET) flags |= RSC_FLAG_QUIET;
if (inf_flags & LIS_NOGRPCONV) flags |= RSC_FLAG_NGCONV;
}
ZeroMemory(&info, sizeof(ADVInfo)); ZeroMemory(&info, sizeof(ADVInfo));

View File

@ -190,6 +190,7 @@ static void test_LaunchINFSection(void)
HRESULT hr; HRESULT hr;
char cmdline[MAX_PATH]; char cmdline[MAX_PATH];
static char file[] = "test.inf,DefaultInstall,4,0"; static char file[] = "test.inf,DefaultInstall,4,0";
static char file2[] = "test.inf,,1,0";
/* The 'No UI' flag seems to have no effect whatsoever on Windows. /* The 'No UI' flag seems to have no effect whatsoever on Windows.
* So only do this test in interactive mode. * So only do this test in interactive mode.
@ -220,6 +221,9 @@ static void test_LaunchINFSection(void)
hr = pLaunchINFSection(NULL, NULL, file, 0); hr = pLaunchINFSection(NULL, NULL, file, 0);
ok(hr == 0, "Expected 0, got %d\n", hr); ok(hr == 0, "Expected 0, got %d\n", hr);
hr = pLaunchINFSection(NULL, NULL, file2, 0);
ok(hr == 0, "Expected 0, got %d\n", hr);
DeleteFileA("test.inf"); DeleteFileA("test.inf");
} }

View File

@ -135,6 +135,10 @@ DECL_WINELIB_TYPE_AW(LPCSTRTABLE)
#define RSC_FLAG_DELAYREGISTEROCX 0x00000200 #define RSC_FLAG_DELAYREGISTEROCX 0x00000200
#define RSC_FLAG_SETUPAPI 0x00000400 #define RSC_FLAG_SETUPAPI 0x00000400
/* Flags for LaunchINFSection */
#define LIS_QUIET 0x00000001
#define LIS_NOGRPCONV 0x00000002
/* Flags for DelNode */ /* Flags for DelNode */
#define ADN_DEL_IF_EMPTY 0x00000001 #define ADN_DEL_IF_EMPTY 0x00000001
#define ADN_DONT_DEL_SUBDIRS 0x00000002 #define ADN_DONT_DEL_SUBDIRS 0x00000002