=?UTF-8?Q?Michael=20M=C3=BCller=20?=: advpack: Translate flags in LaunchINFSection.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Oct 9 09:55:20 CDT 2015


Module: wine
Branch: master
Commit: 10ff131325dec995d20085322ee22b9c5b219358
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=10ff131325dec995d20085322ee22b9c5b219358

Author: Michael Müller <michael at fds-team.de>
Date:   Fri Oct  9 08:07:14 2015 +0200

advpack: Translate flags in LaunchINFSection.

Signed-off-by: Michael Müller <michael at fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/advpack/install.c       | 6 +++++-
 dlls/advpack/tests/install.c | 4 ++++
 include/advpub.h             | 4 ++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/advpack/install.c b/dlls/advpack/install.c
index f75eb01..dcd1dd7 100644
--- a/dlls/advpack/install.c
+++ b/dlls/advpack/install.c
@@ -776,7 +776,11 @@ INT WINAPI LaunchINFSectionW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT sho
 
     str_flags = get_parameter(&cmdline_ptr, ',', TRUE);
     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));
 
diff --git a/dlls/advpack/tests/install.c b/dlls/advpack/tests/install.c
index 875e7d4..16593d1 100644
--- a/dlls/advpack/tests/install.c
+++ b/dlls/advpack/tests/install.c
@@ -190,6 +190,7 @@ static void test_LaunchINFSection(void)
     HRESULT hr;
     char cmdline[MAX_PATH];
     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.
      * So only do this test in interactive mode.
@@ -220,6 +221,9 @@ static void test_LaunchINFSection(void)
     hr = pLaunchINFSection(NULL, NULL, file, 0);
     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");
 }
 
diff --git a/include/advpub.h b/include/advpub.h
index b213b1f..7823e0a 100644
--- a/include/advpub.h
+++ b/include/advpub.h
@@ -135,6 +135,10 @@ DECL_WINELIB_TYPE_AW(LPCSTRTABLE)
 #define RSC_FLAG_DELAYREGISTEROCX   0x00000200
 #define RSC_FLAG_SETUPAPI           0x00000400
 
+/* Flags for LaunchINFSection */
+#define LIS_QUIET                   0x00000001
+#define LIS_NOGRPCONV               0x00000002
+
 /* Flags for DelNode */
 #define ADN_DEL_IF_EMPTY            0x00000001
 #define ADN_DONT_DEL_SUBDIRS        0x00000002




More information about the wine-cvs mailing list