http://bugs.winehq.org/show_bug.cgi?id=30078
Bug #: 30078 Summary: Many installers fail to detect MSXML6 component (Wine doesn't advertise its own MSXML6) Product: Wine Version: 1.4-rc6 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
many installers require MSXML 6.0 component. It might be useful in future to have Wine advertise its builtin by default instead of 'winetricks -q msxml6' (considering some maturity of Wine's own).
There are different methods to detect the presence of MSXML6. One of the most used ones which is also suggested by Microsoft is using registry data.
Example prerequisite check from bug 19223 (Microsoft SQL Server Management Studio Express (SSMSE)):
--- snip --- ... 0024:trace:msi:iterate_appsearch L"MSXML6PRESENT" L"MSXML6PRESENTREG" 0024:trace:msi:ACTION_AppSearchGetSignature package 0x15b348, sig 0x32f8ec ... 0024:trace:msi:ACTION_AppSearchGetSignature failed to query signature for L"MSXML6PRESENTREG" 0024:trace:msi:ACTION_AppSearchComponents L"MSXML6PRESENTREG" ... 0024:trace:msi:ACTION_AppSearchComponents failed to query CompLocator for L"MSXML6PRESENTREG" 0024:trace:msi:ACTION_AppSearchReg L"MSXML6PRESENTREG" ... 0024:Call advapi32.RegOpenKeyW(80000002,00790e88 L"SOFTWARE\Microsoft\MSXML60\Setup",0032f818) ret=7ecb5ea4 0024:Ret advapi32.RegOpenKeyW() retval=00000002 ret=7ecb5ea4 ... 0024:trace:msi:ACTION_AppSearchReg RegOpenKeyW returned 2 ... 0024:trace:msi:ACTION_AppSearchIni L"MSXML6PRESENTREG" ... 0024:trace:msi:ACTION_AppSearchIni failed to query IniLocator for L"MSXML6PRESENTREG" 0024:trace:msi:ACTION_AppSearchDr L"MSXML6PRESENTREG" ... 0024:trace:msi:ACTION_AppSearchDr failed to query DrLocator for L"MSXML6PRESENTREG" ... 0024:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 200 L"Property: MSXML6PRESENT, Signature: MSXML6PRESENTREG" ... 0024:trace:msi:ACTION_CustomAction Handling custom action L"MISSINGPREREQERROR.6D658EB9_E2B8_429A_92C4_84337700878E" (33 L"MISSINGREDISTPREREQERROR" L"[RedistPreReqErrorPrefix][MISSINGREDISTPREREQS][NewLine][NewLine][RedistPreReqErrorSuffix]") ... 0024:trace:msi:ACTION_CustomAction Handling custom action L"CA_ErrorMissingPreReqs" (13 (null) L"[MISSINGREDISTPREREQERROR]") ... 0024:trace:msi:msi_get_property returning L"Setup is missing prerequisites:\n- MSXML6\n\nGo to http://go.microsoft.com/fwlink/?LinkId=54583" for property L"MISSINGREDISTPREREQERROR" ... 0024:Call user32.MessageBoxW(00000000,007910a0 L"Setup is missing prerequisites:\n- MSXML6\n\nGo to http://go.microsoft.com/fwlink/?LinkId=54583%22,00000000,00000000) ret=7ecc7a4d --- snip ---
Dump of "SQLServer2005_SSMSEE.msi" using "ORCA" tool:
"InstallExecuteSequence" table:
--- snip --- MISSINGMSXML6.6D658EB9_E2B8_429A_92C4_84337700878E (EnableMSXML6PreReq=1) AND (NOT MSXML6PRESENT) AND (VersionNT < 600) 402 --- snip ---
"RegLocator" table:
--- snip --- MSXML6PRESENTREG 2 SOFTWARE\Microsoft\MSXML60\Setup Uninstall 2 --- snip ---
"Installing and Redistributing MSXML 6.0":
http://msdn.microsoft.com/en-us/library/windows/desktop/cc507436%28v=vs.85%2...
--- quote --- When MSXML 6.0 is installed for the first time, the following registry key is created with an initial value.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSXML60\Setup] "Uninstall"="{11111111-1111-1111-1111-111111111111}"
Subsequently, whenever MSXML 6.0 is redistributed by some application, the product code for that application is appended to the registry key shown above. --- quote ---
Following that suggestion, running prior installer in clean WINEPREFIX:
--- snip --- $ wine reg add "HKLM\Software\Microsoft\MSXML60\Setup" /v Uninstall /t REG_SZ /d "{11111111-1111-1111-1111-111111111111}" /f --- snip ---
With that registry key present, "MSXML 6.0" is considered installed.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30078
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2012-03-11 00:31:24 CST --- I sent a patch for that http://www.winehq.org/pipermail/wine-patches/2012-March/112260.html
http://bugs.winehq.org/show_bug.cgi?id=30078
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com 2012-03-12 12:55:16 CDT --- Alexandre suggested to set reported windows version >winxp for such installers. The problem is that this key is not present on native systems that already ship msxml6 (vista and higher).
http://bugs.winehq.org/show_bug.cgi?id=30078
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer Status|NEW |RESOLVED Resolution| |WONTFIX Summary|Many installers fail to |Many installers fail to |detect MSXML6 component |detect MSXML6 component |(Wine doesn't advertise its |(MSXML6 is part of OS since |own MSXML6) |Windows XP SP3 and Wine | |doesn't advertise it using | |registry key)
--- Comment #3 from Anastasius Focht focht@gmx.net 2012-03-12 15:38:27 CDT --- Hello Nikolay,
--- quote --- Alexandre suggested to set reported windows version >winxp for such installers. The problem is that this key is not present on native systems that already ship msxml6 (vista and higher). --- quote ---
This Microsoft XML Team's WebLog entry seems to bolster this:
http://blogs.msdn.com/b/xmlteam/archive/2010/07/02/msxml6-is-now-in-band-msi...
--- quote --- In the past several years, we’ve worked to move MSXML6 in-band for all supported releases of Windows. This began with Vista RTM and has remained the practice for all OS releases since then. Specifically, MSXML6 is in-band for XP SP3, Vista and Windows 7 . It should also be noted that the Vista and Windows 7 Server counterparts also contain in-band MSXML6. I.e. Windows Server 2008 and Windows Server 2008 R2 respectively. One caveat, those that are using Windows Server 2003 will still need to install MSXML6 via MSI/KB<number>.exe wrapped MSIs.
So what does all of this mean for you? If your MSXML6 dependent application is supported on XP SP2 and Windows Server 2003, you’ll need to install the OOB package of MSXML6. For all other OSes called out above, your MSXML6 dependent application needn’t worry about installing MSXML6. --- quote ---
So marking as "WONTFIX".
Usually it won't do any harm if installers decide to install native MSXML6 package on their own.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30078
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch Status|RESOLVED |CLOSED CC| |adys.wh@gmail.com
--- Comment #4 from Jerome Leclanche adys.wh@gmail.com 2012-03-12 18:23:42 CDT --- Closin'
http://bugs.winehq.org/show_bug.cgi?id=30078
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
another app that probes this key: 'Evolve Client 1.8.3' (.NET 4.0 app)
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+reg wine ./EvolveSetup.exe >>log.txt 2>&1 ... 0030:Call KERNEL32.GetVersionExW(0093e6c0) ret=00419710 0030:Ret KERNEL32.GetVersionExW() retval=00000001 ret=00419710 0030:Call KERNEL32.GetNativeSystemInfo(0093e7bc) ret=00419a01 0030:trace:reg:GetSystemInfo si=0x0x93e7bc 0030:Ret KERNEL32.GetNativeSystemInfo() retval=00000000 ret=00419a01 0030:Call KERNEL32.GetVersionExW(0093e6c0) ret=00419710 0030:Ret KERNEL32.GetVersionExW() retval=00000001 ret=00419710 ... 0030:Call advapi32.RegOpenKeyExW(80000002,007351c0 L"Software\Microsoft\MSXML60\Setup",00000000,80000000,0093e770) ret=0041e65c 0030:trace:reg:NtOpenKey (0x18,L"Software\Microsoft\MSXML60\Setup",80000000,0x93e770) ... 0030:trace:reg:NtOpenKey <- (nil) 0030:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=0041e65c ... 0030:Call winhttp.WinHttpOpenRequest(00000002,0047a568 L"GET",00737138 L"/download/2/e/0/2e01308a-e17f-4bf9-bf48-161356cf9c81/msxml6.msi",00000000,00000000,00000000,00000000) ret=0041a981 ... --- snip ---
App log:
--- snip --- 2014-Apr-05 19:58:15.923947 - Continuing install flow... 2014-Apr-05 19:58:15.959991 - Operating system version: 3. Architecture: 0. 2014-Apr-05 19:58:15.963409 - Could not open registry key: Software\Microsoft\MSXML60\Setup. File not found. (2). 2014-Apr-05 19:58:15.965399 - Downloading MSXML 6.0... 2014-Apr-05 19:58:16.989998 - Installing MSXML 6.0... 2014-Apr-05 19:58:16.993922 - Launching: C:\users\Public\Application Data\Echobit\Evolve\Temp\Installer\msxml.msi... --- snip ---
$ sha1sum EvolveSetup.exe 0c9f92f1ed5f97bced68c1185525dfe78900f795 EvolveSetup.exe
$ du -sh EvolveSetup.exe 3.2M EvolveSetup.exe
$ wine --version wine-1.7.16
Regards
https://bugs.winehq.org/show_bug.cgi?id=30078
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://web.archive.org/web | |/20140729230757/https://ass | |ets.evolvehq.com/client/Evo | |lveSetup.exe Keywords| |download