diff --git a/README.md b/README.md index 91819b9e..1e729f87 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Wine. All those differences are also documented on the Included bugfixes and improvements ================================== -**Bugfixes and features included in the next upcoming release [9]:** +**Bugfixes and features included in the next upcoming release [10]:** * Cinema 4D needs NotifyIpInterfaceChange ([Wine Bug #34573](https://bugs.winehq.org/show_bug.cgi?id=34573)) * D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770)) @@ -46,6 +46,7 @@ Included bugfixes and improvements * Support for TLB dependencies lookup in resources ([Wine Bug #34184](https://bugs.winehq.org/show_bug.cgi?id=34184)) * Support for pasting HTML from Unix applications ([Wine Bug #7372](https://bugs.winehq.org/show_bug.cgi?id=7372)) * Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586)) +* Update ProductVersion property when applying MSI transforms ([Wine Bug #37493](https://bugs.winehq.org/show_bug.cgi?id=37493)) **Bugs fixed in Wine-Compholio 1.7.29 [80]:** diff --git a/debian/changelog b/debian/changelog index ae76856f..e043d8b2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ wine-compholio (1.7.30) UNRELEASED; urgency=low * Added patch for implementation of GdipCreateRegionRgnData. * Added patch for implementation of D3DXCreatePolygon. * Added patch for TLB dependencies lookup in resources. + * Added patch to update ProductVersion when applying MSI transforms. * Removed patch to avoid Clang compiler warning because of unused Vtable (accepted upstream). * Removed patch for additional ATL thunks (accepted upstream). * Removed patch to ímplement IRichEditOle and ITextDocument support for ITextServices (accepted upstream). diff --git a/patches/Makefile b/patches/Makefile index 02042a69..931b3c28 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -49,6 +49,7 @@ PATCHLIST := \ libs-Unicode_Collation.ok \ libwine-BSD_mmap_fixed.ok \ mshtml-sessionStorage.ok \ + msi-Transform_ProductVersion.ok \ msvcp90-basic_string_wchar_dtor.ok \ ntdll-DOS_Attributes.ok \ ntdll-Dynamic_DST.ok \ @@ -734,6 +735,24 @@ mshtml-sessionStorage.ok: echo '+ { "mshtml-sessionStorage", "Zhenbo Li", "Implement sessionStorage (partially)." },'; \ ) > mshtml-sessionStorage.ok +# Patchset msi-Transform_ProductVersion +# | +# | Included patches: +# | * Update ProductVersion property when applying MSI transforms. [by Sebastian Lackner] +# | +# | This patchset fixes the following Wine bugs: +# | * [#37493] Update ProductVersion property when applying MSI transforms +# | +# | Modified files: +# | * dlls/msi/patch.c +# | +.INTERMEDIATE: msi-Transform_ProductVersion.ok +msi-Transform_ProductVersion.ok: + $(call APPLY_FILE,msi-Transform_ProductVersion/0001-msi-Update-ProductVersion-property-when-applying-tra.patch) + @( \ + echo '+ { "msi-Transform_ProductVersion", "Sebastian Lackner", "Update ProductVersion property when applying MSI transforms." },'; \ + ) > msi-Transform_ProductVersion.ok + # Patchset msvcp90-basic_string_wchar_dtor # | # | Included patches: diff --git a/patches/msi-Transform_ProductVersion/0001-msi-Update-ProductVersion-property-when-applying-tra.patch b/patches/msi-Transform_ProductVersion/0001-msi-Update-ProductVersion-property-when-applying-tra.patch new file mode 100644 index 00000000..8a585f83 --- /dev/null +++ b/patches/msi-Transform_ProductVersion/0001-msi-Update-ProductVersion-property-when-applying-tra.patch @@ -0,0 +1,69 @@ +From 89ce3a340e3086a4b223d8dbe8356eedcf7ec1f1 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Thu, 18 Sep 2014 00:38:15 +0200 +Subject: msi: Update ProductVersion property when applying transforms. + +--- + dlls/msi/patch.c | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +diff --git a/dlls/msi/patch.c b/dlls/msi/patch.c +index a738de1..1cf5373 100644 +--- a/dlls/msi/patch.c ++++ b/dlls/msi/patch.c +@@ -118,7 +118,7 @@ error: + return NULL; + } + +-static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform ) ++static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform, WCHAR **version_to ) + { + static const UINT supported_flags = + MSITRANSFORM_VALIDATE_PRODUCT | MSITRANSFORM_VALIDATE_LANGUAGE | +@@ -255,9 +255,16 @@ static UINT check_transform_applicable( MSIPACKAGE *package, IStorage *transform + msi_free( upgrade_code_installed ); + } + ++ if ((valid_flags & wanted_flags) != wanted_flags) ++ { ++ free_transform_desc( desc ); ++ msiobj_release( &si->hdr ); ++ return ERROR_FUNCTION_FAILED; ++ } ++ ++ *version_to = strdupW( desc->version_to ); + free_transform_desc( desc ); + msiobj_release( &si->hdr ); +- if ((valid_flags & wanted_flags) != wanted_flags) return ERROR_FUNCTION_FAILED; + TRACE("applicable transform\n"); + return ERROR_SUCCESS; + } +@@ -266,6 +273,7 @@ static UINT apply_substorage_transform( MSIPACKAGE *package, MSIDATABASE *patch_ + { + UINT ret = ERROR_FUNCTION_FAILED; + IStorage *stg = NULL; ++ WCHAR *version_to; + HRESULT r; + + TRACE("%p %s\n", package, debugstr_w(name)); +@@ -278,9 +286,16 @@ static UINT apply_substorage_transform( MSIPACKAGE *package, MSIDATABASE *patch_ + r = IStorage_OpenStorage( patch_db->storage, name, NULL, STGM_SHARE_EXCLUSIVE, NULL, 0, &stg ); + if (SUCCEEDED(r)) + { +- ret = check_transform_applicable( package, stg ); ++ ret = check_transform_applicable( package, stg, &version_to ); + if (ret == ERROR_SUCCESS) ++ { + msi_table_apply_transform( package->db, stg ); ++ if (version_to) ++ { ++ msi_set_property( package->db, szProductVersion, version_to, -1 ); ++ msi_free( version_to ); ++ } ++ } + else + TRACE("substorage transform %s wasn't applicable\n", debugstr_w(name)); + IStorage_Release( stg ); +-- +2.1.2 + diff --git a/patches/msi-Transform_ProductVersion/definition b/patches/msi-Transform_ProductVersion/definition new file mode 100644 index 00000000..2b3b0d17 --- /dev/null +++ b/patches/msi-Transform_ProductVersion/definition @@ -0,0 +1,4 @@ +Author: Sebastian Lackner +Subject: Update ProductVersion property when applying MSI transforms. +Revision: 1 +Fixes: [37493] Update ProductVersion property when applying MSI transforms