[Bug 33391] New: Microsoft .NET Framework Version 2.0 x64 installer prerequisite check fails (incorrect "VersionNT64" msi property value)
http://bugs.winehq.org/show_bug.cgi?id=33391 Bug #: 33391 Summary: Microsoft .NET Framework Version 2.0 x64 installer prerequisite check fails (incorrect "VersionNT64" msi property value) Product: Wine Version: 1.5.28 Platform: x86-64 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs(a)winehq.org ReportedBy: focht(a)gmx.net Classification: Unclassified Hello folks, while investigating some 64-bit application installer I found a problem with "VersionNT64" msi installer property. --- snip --- 0027:trace:msi:MSI_EvaluateConditionW L"( ((VersionNT64 < 502) OR (VersionNT64 = 502 AND WindowsBuild < 3506)) )" ... 0027:trace:msi:MSI_EvaluateConditionW 1 <- L"( ((VersionNT64 < 502) OR (VersionNT64 = 502 AND WindowsBuild < 3506)) )" 0027:trace:msi:ACTION_PerformAction Performing action (L"CA_Check64OS.3643236F_FC70_11D3_A536_0090278A1BB8") ... --- snip --- It's ok to fail in Windows XP mode (VersionNT64 should be 501) but to my surprise it also failed in later WinVer settings (Windows 2003, ...). The reason is a "reuse" of string buffer which ought to hold WinVer encoded as MajorVersion * 100 + MinorVersion. Source: http://source.winehq.org/git/wine.git/blob/40f3a9fa590b1e4ab785509bb389efbe4... --- snip --- 671 static VOID set_installer_properties(MSIPACKAGE *package) 672 { 673 WCHAR *ptr; 674 OSVERSIONINFOEXW OSVersion; 675 MEMORYSTATUSEX msex; 676 DWORD verval, len; 677 WCHAR pth[MAX_PATH], verstr[11], bufstr[22]; ... 860 /* set the os things */ 861 OSVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW); 862 GetVersionExW((OSVERSIONINFOW *)&OSVersion); 863 verval = OSVersion.dwMinorVersion + OSVersion.dwMajorVersion * 100; 864 len = sprintfW( verstr, szFormat, verval ); 865 switch (OSVersion.dwPlatformId) 866 { 867 case VER_PLATFORM_WIN32_WINDOWS: 868 msi_set_property( package->db, szVersion9x, verstr, len ); 869 break; 870 case VER_PLATFORM_WIN32_NT: 871 msi_set_property( package->db, szVersionNT, verstr, len ); 872 len = sprintfW( verstr, szFormat,OSVersion.wProductType ); 873 msi_set_property( package->db, szMsiNTProductType, verstr, len ); 874 break; 875 } 876 len = sprintfW( verstr, szFormat, OSVersion.dwBuildNumber ); 877 msi_set_property( package->db, szWindowsBuild, verstr, len ); 878 len = sprintfW( verstr, szFormat, OSVersion.wServicePackMajor ); 879 msi_set_property( package->db, szServicePackLevel, verstr, len ); 880 881 len = sprintfW( bufstr, szFormat2, MSI_MAJORVERSION, MSI_MINORVERSION ); 882 msi_set_property( package->db, szVersionMsi, bufstr, len ); 883 len = sprintfW( bufstr, szFormat, MSI_MAJORVERSION * 100 ); 884 msi_set_property( package->db, szVersionDatabase, bufstr, len ); 885 886 GetNativeSystemInfo( &sys_info ); 887 len = sprintfW( bufstr, szIntFormat, sys_info.wProcessorLevel ); 888 msi_set_property( package->db, szIntel, bufstr, len ); 889 if (sys_info.u.s.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) 890 { ... 902 } 903 else if (sys_info.u.s.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) 904 { 905 msi_set_property( package->db, szMsiAMD64, bufstr, -1 ); 906 msi_set_property( package->db, szMsix64, bufstr, -1 ); 907 msi_set_property( package->db, szVersionNT64, verstr, -1 ); ... --- snip --- "verstr" is overwritten several times. At the point of setting "szVersionNT64" msi property, "verstr" simply contains the last string buffer "reuse" value which is obviously not what we want here ... Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://www.microsoft.com/e | |n-us/download/confirmation. | |aspx?id=6523 -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |ca025a525d50f253a7e450b8ac0 | |1898f1f02eba1 Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Austin English <austinenglish(a)gmail.com> 2013-04-15 14:02:59 CDT --- http://source.winehq.org/git/wine.git/commitdiff/ca025a525d50f253a7e450b8ac0... -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #2 from Anastasius Focht <focht(a)gmx.net> 2013-04-15 18:09:30 CDT --- Hello Austin, usually I don't mind when my bug reports get resolution "fixed" as I assume it was verified by the resolver. I rely on that and don't do retesting ... until curiosity kills me. "verstr" buffer is still reused/overwritten (by "MsiNTProductType" property). Example: WinVer = Win7 --- snip --- 0027:trace:msi:msi_get_property returning L"1" for property L"VersionNT64" ... 0027:trace:msi:msi_get_property returning L"7601" for property L"WindowsBuild" ... 0027:trace:msi:MSI_EvaluateConditionW 1 <- L"( ((VersionNT64 < 502) OR (VersionNT64 = 502 AND WindowsBuild < 3506)) )" --- snip --- Debugger session: ---snip --- Wine-dbg>n 871 msi_set_property( package->db, szVersionNT, verstr, len ); Wine-dbg>info locals 0x00007f05656dc4a4 set_installer_properties+0x99b: (0075daf0) MSIPACKAGE* package=0xaac050 (parameter [RBP-1192]) WCHAR* ptr="\users\focht\Temp\" (local [RBP-40]) OSVERSIONINFOEXW OSVersion={dwOSVersionInfoSize=0x11c, dwMajorVersion=0x6, dwMinorVersion=0x1, dwBuildNumber=0x1db1, dwPlatformId=0x2, szCSDVersion={0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x50, 0x61, 0x63, 0x6b, 0x20, 0x31, 0, 0x75, 0, 0, 0xb233, 0x656b, 0x7f05, 0, 0xc000, 0xaa, 0, 0, 0x2, 0, 0, 0, 0x6990, 0xab, 0, 0, 0x5e98, 0xab, 0, 0, 0xd9d0, 0x75, 0, 0, 0x6990, 0xab, 0, 0, 0x4, 0x8000, 0, 0, 0, 0, 0, 0, 0xbb0e, 0x656d, 0x7f05, 0, 0, 0, 0, 0, 0xbb0d, 0x656d, 0x7f05, 0, 0, 0, 0, 0, 0x247, 0, 0x3dc, 0, 0xd23, 0, 0x1ce, 0, 0x258, 0, 0x7c, 0, 0x2ff6, 0, 0x236, 0, 0x286, 0, 0x285, 0, 0x283, 0, 0x282, 0, 0x1e86, 0, 0x2aeb, 0, 0x21c9, 0, 0x4d36, 0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, wServicePackMajor=0x1, wServicePackMinor=0, wSuiteMask=0, wProductType=1, wReserved=0} (local [RBP-432]) ... WCHAR --none--[11] verstr={0x36, 0x30, 0x31, 0, 0x3118, 0, 0x595, 0, 0x247, 0, 0x3dc} (local [RBP-1056]) ... Wine-dbg>n 872 len = sprintfW( verstr, szFormat,OSVersion.wProductType ); Wine-dbg>n 873 msi_set_property( package->db, szMsiNTProductType, verstr, len ); Wine-dbg>p verstr {0x31, 0, 0x31, 0, 0x3118, 0, 0x595, 0, 0x247, 0, 0x3dc} ---snip --- Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Julian Rüger <jr98(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jr98(a)gmx.net -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 --- Comment #3 from Bruno Jesus <00cpxxx(a)gmail.com> 2013-04-17 15:22:33 CDT --- Another patch related to this bug was commited: http://source.winehq.org/git/wine.git/?a=commit;h=27a1a9a862eb06fc94e6e7f34f... -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1|ca025a525d50f253a7e450b8ac0 |27a1a9a862eb06fc94e6e7f34f5 |1898f1f02eba1 |f28fec05fdc0f Status|REOPENED |RESOLVED Resolution| |FIXED --- Comment #4 from Anastasius Focht <focht(a)gmx.net> 2013-04-17 15:56:18 CDT --- Hello folks, fixed by commit http://source.winehq.org/git/wine.git/commitdiff/27a1a9a862eb06fc94e6e7f34f5... Thanks Hans. The installer needs at least WinVer "Windows 2003". It still fails in the end - but that's bug 24196 Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #5 from Alexandre Julliard <julliard(a)winehq.org> 2013-04-26 13:16:34 CDT --- Closing bugs fixed in 1.5.29. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=33391 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, win64 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=33391 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- URL|https://www.microsoft.com/e |https://web.archive.org/web |n-us/download/confirmation. |/20100925191339/http://down |aspx?id=6523 |load.microsoft.com/download | |/a/3/f/a3f1bf98-18f3-4036-9 | |b68-8e6de530ce0a/NetFx64.ex | |e -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla