[Bug 30078] New: Many installers fail to detect MSXML6 component (Wine doesn't advertise its own MSXML6)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Mar 4 09:39:52 CST 2012


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 at winehq.org
        ReportedBy: focht at 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",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%29.aspx

--- 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

-- 
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.



More information about the wine-bugs mailing list