https://git.reactos.org/?p=reactos.git;a=commitdiff;h=182a2d623e408c6857ac1c...
commit 182a2d623e408c6857ac1ce10157a665b8a5823c Author: winesync ros-dev@reactos.org AuthorDate: Sun Mar 13 00:14:01 2022 +0100 Commit: Mark Jansen mark.jansen@reactos.org CommitDate: Sun Mar 20 19:28:05 2022 +0100
[WINESYNC] msi: Don't consider read-only drives when enumerating volumes.
Signed-off-by: Pierre Schweitzer pierre@reactos.org Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
wine commit id 0dd0d879a1c487dcefedd44762d4ea0fcebd98fe by Pierre Schweitzer pierre@reactos.org --- dll/win32/msi/dialog.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dll/win32/msi/dialog.c b/dll/win32/msi/dialog.c index 29e016d9f7b..c09d3d1c695 100644 --- a/dll/win32/msi/dialog.c +++ b/dll/win32/msi/dialog.c @@ -3289,7 +3289,7 @@ static void msi_dialog_vcl_add_drives( msi_dialog *dialog, msi_control *control WCHAR cost_text[MAX_PATH]; LPWSTR drives, ptr; LVITEMW lvitem; - DWORD size; + DWORD size, flags; int i = 0;
cost = msi_vcl_get_cost(dialog); @@ -3306,13 +3306,13 @@ static void msi_dialog_vcl_add_drives( msi_dialog *dialog, msi_control *control ptr = drives; while (*ptr) { -#ifdef __REACTOS__ - if (GetDriveTypeW(ptr) != DRIVE_FIXED) + if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) && + flags & FILE_READ_ONLY_VOLUME) { ptr += lstrlenW(ptr) + 1; continue; } -#endif + lvitem.mask = LVIF_TEXT; lvitem.iItem = i; lvitem.iSubItem = 0;