Mike McCormack : msi: Remove broken volume management code.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Apr 7 08:05:26 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 604cdff911ed26112d277cc68f3ebaa9bfb7d5eb
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=604cdff911ed26112d277cc68f3ebaa9bfb7d5eb
Author: Mike McCormack <mike at codeweavers.com>
Date: Fri Apr 7 18:45:15 2006 +0900
msi: Remove broken volume management code.
---
dlls/msi/files.c | 113 +-----------------------------------------------------
1 files changed, 3 insertions(+), 110 deletions(-)
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index e191fe6..b2ddfc9 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -343,88 +343,6 @@ static VOID set_file_source(MSIPACKAGE*
file->SourcePath = build_directory_name(2, path, file->File);
}
-static BOOL check_volume(LPCWSTR path, LPCWSTR want_volume, LPWSTR volume,
- UINT *intype)
-{
- WCHAR drive[4];
- WCHAR name[MAX_PATH];
- UINT type;
-
- if (!want_volume)
- return TRUE;
-
- if (!(path[0] && path[1] == ':'))
- {
- if (intype)
- *intype = DRIVE_NO_ROOT_DIR;
- return TRUE;
- }
-
- drive[0] = path[0];
- drive[1] = path[1];
- drive[2] = '\\';
- drive[3] = 0;
- TRACE("Checking volume %s .. (%s)\n",debugstr_w(drive), debugstr_w(want_volume));
- type = GetDriveTypeW(drive);
- TRACE("drive is of type %x\n",type);
-
- if (intype)
- *intype=type;
-
- if (type == DRIVE_UNKNOWN || type == DRIVE_NO_ROOT_DIR ||
- type == DRIVE_FIXED || type == DRIVE_RAMDISK)
- return TRUE;
-
- GetVolumeInformationW(drive, name, MAX_PATH, NULL, NULL, NULL, NULL, 0);
- TRACE("Drive contains %s\n", debugstr_w(name));
- return (strcmpiW(want_volume,name)==0);
-}
-
-static BOOL check_for_sourcefile(LPCWSTR source)
-{
- DWORD attrib = GetFileAttributesW(source);
- return (!(attrib == INVALID_FILE_ATTRIBUTES));
-}
-
-static UINT ready_volume(MSIPACKAGE* package, LPCWSTR path, LPWSTR last_volume,
- MSIRECORD *row,UINT *type )
-{
- LPWSTR volume = NULL;
- LPCWSTR want_volume = MSI_RecordGetString(row, 5);
- BOOL ok = check_volume(path, want_volume, volume, type);
-
- TRACE("Readying Volume for %s (%s, %s)\n", debugstr_w(path),
- debugstr_w(want_volume), debugstr_w(last_volume));
-
- if (check_for_sourcefile(path) && !ok)
- {
- FIXME("Found the Sourcefile but not on the correct volume.(%s,%s,%s)\n",
- debugstr_w(path),debugstr_w(want_volume), debugstr_w(volume));
- return ERROR_SUCCESS;
- }
-
- while (!ok)
- {
- INT rc;
- LPCWSTR prompt;
- LPWSTR msg;
-
- prompt = MSI_RecordGetString(row,3);
- msg = generate_error_string(package, 1302, 1, prompt);
- rc = MessageBoxW(NULL,msg,NULL,MB_OKCANCEL);
- msi_free(volume);
- msi_free(msg);
- if (rc == IDOK)
- ok = check_for_sourcefile(path);
- else
- return ERROR_INSTALL_USEREXIT;
- }
-
- msi_free(last_volume);
- last_volume = strdupW(volume);
- return ERROR_SUCCESS;
-}
-
struct media_info {
UINT last_sequence;
LPWSTR last_volume;
@@ -470,7 +388,6 @@ static UINT ready_media_for_file( MSIPAC
LPCWSTR cab, volume;
DWORD sz;
INT seq;
- UINT type;
LPCWSTR prompt;
MSICOMPONENT *comp = file->Component;
@@ -502,23 +419,15 @@ static UINT ready_media_for_file( MSIPAC
{
mi->last_path = resolve_folder(package, comp->Directory, TRUE, FALSE, NULL);
set_file_source(package,file,comp,mi->last_path);
- rc = ready_volume(package, file->SourcePath, mi->last_volume, row,&type);
MsiSourceListAddMediaDiskW(package->ProductCode, NULL,
MSIINSTALLCONTEXT_USERMANAGED, MSICODE_PRODUCT, mi->count, volume,
prompt);
- if (type == DRIVE_REMOVABLE || type == DRIVE_CDROM ||
- type == DRIVE_RAMDISK)
- MsiSourceListSetInfoW(package->ProductCode, NULL,
+ MsiSourceListSetInfoW(package->ProductCode, NULL,
MSIINSTALLCONTEXT_USERMANAGED,
MSICODE_PRODUCT|MSISOURCETYPE_MEDIA,
INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
- else
- MsiSourceListSetInfoW(package->ProductCode, NULL,
- MSIINSTALLCONTEXT_USERMANAGED,
- MSICODE_PRODUCT|MSISOURCETYPE_NETWORK,
- INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
msiobj_release(&row->hdr);
return rc;
}
@@ -563,18 +472,10 @@ static UINT ready_media_for_file( MSIPAC
strcpyW(mi->last_path,mi->source);
strcatW(mi->source,cab);
- rc = ready_volume(package, mi->source, mi->last_volume, row, &type);
- if (type == DRIVE_REMOVABLE || type == DRIVE_CDROM ||
- type == DRIVE_RAMDISK)
- MsiSourceListSetInfoW(package->ProductCode, NULL,
+ MsiSourceListSetInfoW(package->ProductCode, NULL,
MSIINSTALLCONTEXT_USERMANAGED,
MSICODE_PRODUCT|MSISOURCETYPE_MEDIA,
INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
- else
- MsiSourceListSetInfoW(package->ProductCode, NULL,
- MSIINSTALLCONTEXT_USERMANAGED,
- MSICODE_PRODUCT|MSISOURCETYPE_NETWORK,
- INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
/* extract the cab file into a folder in the temp folder */
sz = MAX_PATH;
@@ -591,19 +492,11 @@ static UINT ready_media_for_file( MSIPAC
mi->last_path = msi_alloc(MAX_PATH*sizeof(WCHAR));
MSI_GetPropertyW(package,cszSourceDir,mi->source,&sz);
strcpyW(mi->last_path,mi->source);
- rc = ready_volume(package, mi->last_path, mi->last_volume, row, &type);
- if (type == DRIVE_REMOVABLE || type == DRIVE_CDROM ||
- type == DRIVE_RAMDISK)
- MsiSourceListSetInfoW(package->ProductCode, NULL,
+ MsiSourceListSetInfoW(package->ProductCode, NULL,
MSIINSTALLCONTEXT_USERMANAGED,
MSICODE_PRODUCT|MSISOURCETYPE_MEDIA,
INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
- else
- MsiSourceListSetInfoW(package->ProductCode, NULL,
- MSIINSTALLCONTEXT_USERMANAGED,
- MSICODE_PRODUCT|MSISOURCETYPE_NETWORK,
- INSTALLPROPERTY_LASTUSEDSOURCEW, mi->last_path);
}
set_file_source(package, file, comp, mi->last_path);
More information about the wine-cvs
mailing list