[PATCH] msi: Files with the same version need to check file/hash as well

Hans Leidekker hans at codeweavers.com
Thu Feb 25 04:45:07 CST 2016


Hi Alistair,
> diff --git a/dlls/msi/files.c b/dlls/msi/files.c
> index 9b46762..0285a7e 100644
> --- a/dlls/msi/files.c
> +++ b/dlls/msi/files.c
> @@ -120,18 +120,11 @@ static msi_file_state calculate_install_state( MSIPACKAGE *package, MSIFILE *fil
>                        debugstr_w(file->File), debugstr_w(file->Version),
>                        HIWORD(file_version->dwFileVersionMS), LOWORD(file_version->dwFileVersionMS),
>                        HIWORD(file_version->dwFileVersionLS), LOWORD(file_version->dwFileVersionLS));
> -                state = msifs_overwrite;
> -            }
> -            else
> -            {
> -                TRACE("keeping %s (new version %s old version %u.%u.%u.%u)\n",
> -                      debugstr_w(file->File), debugstr_w(file->Version),
> -                      HIWORD(file_version->dwFileVersionMS), LOWORD(file_version->dwFileVersionMS),
> -                      HIWORD(file_version->dwFileVersionLS), LOWORD(file_version->dwFileVersionLS));
> -                state = msifs_present;
> +                return msifs_overwrite;
>              }
> +
>              msi_free( file_version );
> -            return state;
> +            /* Fall through to check the size and hash */

Please add tests for all sensible combinations of version, size and hash.





More information about the wine-devel mailing list