http://bugs.winehq.org/show_bug.cgi?id=28663
Bug #: 28663 Summary: Adobe Reader X help fails to load Product: Wine Version: 1.3.30 Platform: x86-64 URL: http://ardownload.adobe.com/pub/adobe/reader/win/10.x/ 10.0.1/en_US/AdbeRdr1001_en_US.exe OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: kennybobs@o2.co.uk Classification: Unclassified
Created attachment 36835 --> http://bugs.winehq.org/attachment.cgi?id=36835 wine-1.3.30-45-ga843ace console output
Clicking on Help in Adobe Reader X fails to launch a web browser and ARX pops up an error message to check the internet connection.
http://bugs.winehq.org/show_bug.cgi?id=28663
--- Comment #1 from Ken Sharp kennybobs@o2.co.uk 2011-10-11 19:05:32 CDT --- Forgot to add, to get this far:
- Patch Wine to work around bug 28628 - Use a native mspatcha.dll to work around bug 12501 - winetricks vcrun2008 to work around bug 28541 - Start ARX with Protected Mode disabled to work around bug 25834
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Depends on| |12501
--- Comment #2 from Anastasius Focht focht@gmx.net 2012-01-09 13:44:31 CST --- Hello,
adding dependency to mspatcha
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |shell32 Summary|Adobe Reader X help fails |Adobe Reader X online help |to load |fails to load due to | |IQueryAssociations::GetStri | |ng not properly handling | |URL protocols
--- Comment #3 from Anastasius Focht focht@gmx.net 2012-01-09 16:35:14 CST --- Hello,
confirming, still present.
The problem seems related how protocol associations are currently handled using IQueryAssociations (Wine registry).
--- snip --- ... 0024:CALL ahclient.InitializeAdobeHelpClient(0032f718,0032f6f6,00000002,00000002,0032f718,00000100) ret=00b95261 0024:RET ahclient.InitializeAdobeHelpClient() retval=00000000 ret=00b95261 0024:CALL ahclient.DisplayAdobeHelpClientPage(<unknown, check return>) ret=00b9528e 0024:trace:wininet:InternetOpenA ("HIL", 0x00000001, (null), (null), 0x00000000) 0024:trace:wininet:InternetOpenW (L"HIL", 1, (null), (null), 0) 0024:trace:wininet:InternetOpenW access type : INTERNET_OPEN_TYPE_DIRECT 0024:trace:wininet:InternetOpenW flags : 0024:trace:wininet:InternetOpenW returning 0x162118 0024:trace:wininet:InternetOpenUrlA 0024:trace:wininet:InternetOpenUrlW (0x1, L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html", (null), 00000000, 80000000, 00000000) 0024:trace:wininet:InternetOpenUrlW flags : INTERNET_FLAG_RELOAD 0024:trace:wininet:WININET_AddRef 0x162118 -> refcount = 2 0024:trace:wininet:get_handle_object handle 1 -> 0x162118 0024:trace:wininet:INTERNET_InternetOpenUrlW (0x162118, L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html", (null), 00000000, 80000000, 00000000) 0024:trace:wininet:InternetCrackUrlW (L"http://help.adobe.com/en_US/reader/X/using/AH_HOME.html" 55 0 0x32e950) ... 0024:trace:wininet:CommitUrlCacheEntryW (L"http://help.adobe.com/en_US/reader/using/AH_HOME.html", L"C:\users\focht\Local Settings\Temporary Internet Files\Content.IE5\SSCR6K86\AH_HOME[4]", ..., ..., 1, 0x165bb0, 225, (null), (null)) 0024:trace:wininet:CommitUrlCacheEntryInternal (L"http://help.adobe.com/en_US/reader/using/AH_HOME.html", L"C:\users\focht\Local Settings\Temporary Internet Files\Content.IE5\SSCR6K86\AH_HOME[4]", ..., ..., 1, 0x164d00, 0, (null), (null)) ... 0024:trace:shell:AssocQueryStringW (0x0,2,L"http",L"open",0x32f09c,0x32f094) 0024:trace:shell:AssocCreate ({a07034fd-6caa-4954-ac3f-97a27216f98a},{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x32edc4) 0024:trace:shell:HCR_RegOpenClassIDKey CLSID{c46ca590-3c3f-11d2-bee6-0000f805ca57} 0024:trace:shell:HCR_GetClassNameA -- () 0024:trace:shell:HCR_RegOpenClassIDKey CLSID{a07034fd-6caa-4954-ac3f-97a27216f98a} 0024:trace:shell:HCR_GetClassNameA -- (Query file associations) 0024:trace:shell:SHCoCreateInstance ((nil),{a07034fd-6caa-4954-ac3f-97a27216f98a} (Query file associations),unk:(nil),{c46ca590-3c3f-11d2-bee6-0000f805ca57} (unknown),0x32edc4) 0024:trace:shell:HCR_RegOpenClassIDKey CLSID{a07034fd-6caa-4954-ac3f-97a27216f98a} 0024:trace:shell:HCR_GetClassNameA -- (Query file associations) 0024:trace:shell:DllGetClassObject CLSID:{a07034fd-6caa-4954-ac3f-97a27216f98a} (Query file associations),IID:{00000001-0000-0000-c000-000000000046} (IID_IClassFactory) 0024:trace:shell:DllGetClassObject index[8] 0024:trace:shell:IDefClF_fnConstructor (0x160b48)(null) 0024:trace:shell:IDefClF_fnQueryInterface (0x160b48)->({00000001-0000-0000-c000-000000000046} (IID_IClassFactory)) 0024:trace:shell:IDefClF_fnRelease (0x160b48)->(count=2) 0024:trace:shell:DllGetClassObject -- pointer to class factory: 0x160b48 0024:trace:shell:HCR_RegOpenClassIDKey CLSID{c46ca590-3c3f-11d2-bee6-0000f805ca57} 0024:trace:shell:HCR_GetClassNameA -- () 0024:trace:shell:IDefClF_fnCreateInstance 0x160b48->((nil),{c46ca590-3c3f-11d2-bee6-0000f805ca57} (unknown),0x32edc4) 0024:trace:shell:SHAlloc 16 bytes at 0x160b68 0024:trace:shell:IQueryAssociations_fnQueryInterface (0x160b68,{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x32edc4) 0024:trace:shell:IQueryAssociations_fnAddRef (0x160b68)->(ref before=0) 0024:trace:shell:IQueryAssociations_fnQueryInterface Returning IQueryAssociations (0x160b68) 0024:trace:shell:QueryAssociations_Constructor returning 0x160b68 0024:trace:shell:IDefClF_fnRelease (0x160b48)->(count=1) 0024:trace:shell:IDefClF_fnRelease -- destroying IClassFactory(0x160b48) 0024:trace:shell:SHCoCreateInstance -- instance: 0x160b68 0024:trace:shell:IQueryAssociations_fnInit (0x160b68)->(0,L"http",(nil),(nil)) 0024:trace:shell:IQueryAssociations_fnGetString (0x160b68,0x 0,0x 2,L"open",0x32f09c,0x32f094) 0024:trace:shell:IQueryAssociations_fnRelease (0x160b68)->(ref before=1) 0024:trace:shell:IQueryAssociations_fnRelease Destroying IQueryAssociations (0x160b68) ... 0024:RET ahclient.DisplayAdobeHelpClientPage() retval=00000002 ret=00b9528e --- snip ---
Debugging session:
--- snip --- Wine-dbg>bt Backtrace: =>0 0x6c81e365 ASSOC_GetValue+0x81(hkey=0x134, pszText=0x33e96c) [/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:215] in shell32 (0x0033e930) 1 0x6c81e478 ASSOC_GetCommand+0x2e(This=0x15c2c0, pszExtra="open", ppszCommand=0x33e9d0) [/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:245] in shell32 (0x0033e9a0) 2 0x6c81e859 ASSOC_GetExecutable+0x5b(This=0x15c2c0, pszExtra="open", path="k", pathlen=0x104, len=0x33ecb8) [/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:319] in shell32 (0x0033e9f0) 3 0x6c81ecd8 IQueryAssociations_fnGetString+0x23d(iface=0x15c2c0, cfFlags=0, str=ASSOCSTR_EXECUTABLE, pszExtra="open", pszOut="????t", pcchOut=0x33f054) [/home/focht/projects/wine/wine-git/dlls/shell32/assoc.c:432] in shell32 (0x0033ed50) 4 0x685c20a7 AssocQueryStringW+0x16a(cfFlags=0, str=ASSOCSTR_EXECUTABLE, pszAssoc="http", pszExtra="open", pszOut="????t", pcchOut=0x33f054) [/home/focht/projects/wine/wine-git/dlls/shlwapi/assoc.c:197] in shlwapi (0x0033eda0) 5 0x02f635b0 in ahclient (+0x135af) (0x0033f26c) 6 0x02f55a15 in ahclient (+0x5a14) (0x0033f678) 7 0x00b9528e in acrord32 (+0x42528d) (0x0033f6b0) --- snip ---
http://source.winehq.org/git/wine.git/blob/f948478f28b8a7c6beb364745b143361c...
IQueryAssociations_fnInit() opens "http" under HKEY_CLASSES_ROOT. ASSOC_GetCommand() -> ASSOC_GetValue() tries to read the "file type" value for "http" from default key. This obviously fails because the default value is empty (also for other protocols). Not sure what data is supposed to be here.
The current ASSOC_GetCommand() registry handling looks strange as if not really suitable/prepared to handle protocol style associations.
With that code the only way to get the correct shell command is setting default key to "http" but this looks wrong.
Registry export for "http":
--- snip --- [HKEY_CLASSES_ROOT\http] "URL Protocol"=""
[HKEY_CLASSES_ROOT\http\shell]
[HKEY_CLASSES_ROOT\http\shell\open]
[HKEY_CLASSES_ROOT\http\shell\open\command] @=""C:\windows\system32\winebrowser.exe" -nohome"
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec] @=""%1",,-1,0,,,," "NoActivateHandler"=""
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application] @="IExplore"
[HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Topic] @="WWW_OpenURL" --- snip ---
$ sha1sum AdbeRdr1001_en_US.exe e71d9871ea3e6168570e0677a50495c40f9213b2 AdbeRdr1001_en_US.exe
$ wine --version wine-1.3.36-223-gc7cc9a1
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |31634
http://bugs.winehq.org/show_bug.cgi?id=28663
Bug 28663 depends on bug 31634, which changed state.
Bug 31634 Summary: Adobe Reader X hangs at splash screen http://bugs.winehq.org/show_bug.cgi?id=31634
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID
http://bugs.winehq.org/show_bug.cgi?id=28663
--- Comment #4 from Ken Sharp kennybobs@o2.co.uk 2012-09-07 13:25:29 CDT --- Still present in wine-1.5.12-125-g70937bd
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Adobe Reader X online help |Multiple Adobe products |fails to load due to |fail due to improper file |IQueryAssociations::GetStri |type and protocol |ng not properly handling |associations handling |URL protocols |(Adobe Reader X online | |help, Adobe AIR installers)
--- Comment #5 from Anastasius Focht focht@gmx.net 2013-04-07 12:55:21 CDT --- Hello folks,
ping. The whole thing is not limited to protocols, queries for Adobe products file type handlers using shlwapi.AssocQueryStringW() also fail.
This blocks Adobe AIR-based apps, for example "Amazon Music Importer". Easy to reproduce, just install Adobe AIR and run the app installer as follows (no actual AIR app needed):
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Adobe/Flash Player/AddIns/airappinstaller
$ wine ./airappinstaller.exe /? --- snip ---
Trace log:
--- snip --- 0024:Starting process L"C:\Program Files\Adobe\Flash Player\AddIns\airappinstaller\airappinstaller.exe" (entryproc=0x401188) 0024:Call KERNEL32.GetCommandLineW() ret=0040105c 0024:Ret KERNEL32.GetCommandLineW() retval=00115240 ret=0040105c 0024:Call KERNEL32.lstrlenW(001152e0 L" /?") ret=0040109a 0024:Ret KERNEL32.lstrlenW() retval=00000003 ret=0040109a 0024:Call shlwapi.AssocQueryStringW(00000000,00000002,0040351c,00000000,00000000,0032fe14) ret=004010d9 0024:trace:shell:AssocQueryStringW (0x0,2,L"AIR.InstallerPackage",(null),(nil),0x32fe14) 0024:trace:shell:AssocCreate ({a07034fd-6caa-4954-ac3f-97a27216f98a},{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x32fcc0) ... 0024:trace:shell:IQueryAssociations_fnInit (0x135ee8)->(0,L"AIR.InstallerPackage",(nil),(nil)) 0024:Call advapi32.RegOpenKeyExW(80000000,0040351c L"AIR.InstallerPackage",00000000,00020019,00135ef0) ret=7e4225c5 0024:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e4225c5 0024:trace:shell:IQueryAssociations_fnGetString (0x135ee8,0x 0,0x 2,(null),(nil),0x32fe14) 0024:Call advapi32.RegQueryValueExW(00000058,00000000,00000000,00000000,00000000,0032f830) ret=7e4226d6 0024:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e4226d6 0024:Call ntdll.RtlAllocateHeap(00110000,00000000,00000024) ret=7e42272a 0024:Ret ntdll.RtlAllocateHeap() retval=00135f00 ret=7e42272a 0024:Call advapi32.RegQueryValueExW(00000058,00000000,00000000,00000000,00135f00,0032f830) ret=7e422777 0024:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e422777 0024:Call advapi32.RegOpenKeyExW(80000000,00135f00 L"Installer Package",00000000,00020019,0032f894) ret=7e422850 0024:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=7e422850 ... 0024:trace:shell:IQueryAssociations_fnRelease (0x135ee8)->(ref before=1) 0024:trace:shell:IQueryAssociations_fnRelease Destroying IQueryAssociations (0x135ee8) ... 0024:trace:shell:SHFree 0x135ee8 ... 0024:Ret shlwapi.AssocQueryStringW() retval=80070002 ret=004010d9 ... 0024:Call user32.MessageBoxW(00000000,00403210 L"Something went wrong trying to install this application.\nPlease install the latest version of Adobe AIR from\nhttp://www.adobe.com/go/getair and then try again.",00403548 L"Adobe AIR",00000030) ret=004011b1 --- snip ---
Registry export:
--- snip --- REGEDIT4
[HKEY_CLASSES_ROOT\AIR.InstallerPackage] @="Installer Package"
[HKEY_CLASSES_ROOT\AIR.InstallerPackage\DefaultIcon] @="C:\PROG~FBU\COMM~CP1\ADOB~553\Versions\1.0\ADOB~DWN.EXE,1"
[HKEY_CLASSES_ROOT\AIR.InstallerPackage\shell]
[HKEY_CLASSES_ROOT\AIR.InstallerPackage\shell\open] @="Install"
[HKEY_CLASSES_ROOT\AIR.InstallerPackage\shell\open\command] @="C:\PROG~FBU\COMM~CP1\ADOB~553\Versions\1.0\ADOB~DWN.EXE "%1"" --- snip ---
Setting default key to "AIR.InstallerPackage" works around for AIR installers but it's Wine code that needs to be fixed.
Source: http://source.winehq.org/git/wine.git/blob/bf0c67c3220bbbf527316ff1384e25f00...
Refining summary as this affects more apps.
$ wine --version wine-1.5.27-200-g8b28893
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
Detlef Riekenberg wine.dev@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine.dev@web.de
http://bugs.winehq.org/show_bug.cgi?id=28663
--- Comment #6 from Anastasius Focht focht@gmx.net 2013-09-09 18:41:27 CDT --- Hello folks,
this is partially fixed by commit http://source.winehq.org/git/wine.git/commitdiff/4f6230d5c46c3e2287e56c42688...
At least Adobe Reader 10 now executes browser verb and shows help. But it's still not enough for other apps.
Source: http://source.winehq.org/git/wine.git/blob/1c13e6221a9092121f8e05b1aaf9ccc1c...
--- snip --- 245 static HRESULT ASSOC_GetCommand(IQueryAssociationsImpl *This, const WCHAR *extra, WCHAR **command) 246 { 247 HKEY hkeyCommand; 248 HKEY hkeyShell; 249 HKEY hkeyVerb; 250 HRESULT hr; 251 LONG ret; 252 WCHAR *extra_from_reg = NULL; 253 WCHAR *filetype; 254 static const WCHAR commandW[] = { 'c','o','m','m','a','n','d',0 }; 255 static const WCHAR shellW[] = { 's','h','e','l','l',0 }; 256 257 /* When looking for file extension it's possible to have a default value 258 that points to another key that contains 'shell/<verb>/command' subtree. */ 259 hr = ASSOC_GetValue(This->hkeySource, NULL, (void**)&filetype, NULL); 260 if (hr == S_OK) 261 { 262 HKEY hkeyFile; 263 264 ret = RegOpenKeyExW(HKEY_CLASSES_ROOT, filetype, 0, KEY_READ, &hkeyFile); 265 HeapFree(GetProcessHeap(), 0, filetype); 266 if (ret) return HRESULT_FROM_WIN32(ret); 267 268 ret = RegOpenKeyExW(hkeyFile, shellW, 0, KEY_READ, &hkeyShell); 269 RegCloseKey(hkeyFile); 270 if (ret) return HRESULT_FROM_WIN32(ret); 271 } 272 else 273 { 274 ret = RegOpenKeyExW(This->hkeySource, shellW, 0, KEY_READ, &hkeyShell); 275 if (ret) return HRESULT_FROM_WIN32(ret); 276 } ... --- snip ---
The problem is the assumption that if a default value is present it points to another key containing shell verb. It might apply for cases where the source key is a file extension key ("dot" key, for example ".hlp"). For many non-dot keys the default value is just the description (string), not to be taken as "link". If the first lookup strategy fails (possibly not a "dot" key), the local shell verb lookup should be still done.
$ wine --version wine-1.7.1-261-g863c606
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com 2013-09-09 23:04:50 CDT --- That makes sense, yes. Will try to fix that. By the way I wasn't looking at this report at all, it was another application that failed for 'http' protocol for me, so it's purely accidental.
http://bugs.winehq.org/show_bug.cgi?id=28663
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com 2013-09-10 00:00:39 CDT --- Created attachment 45915 --> http://bugs.winehq.org/attachment.cgi?id=45915 patch
Does this one help?
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #9 from Anastasius Focht focht@gmx.net 2013-09-10 02:02:49 CDT --- Hello Nikolay,
yes, the patch makes Adobe air app installer work too ("AIR.InstallerPackage" assoc).
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |8ae6b43bc89b80ef6e5019dccef | |d451bc5ff903c Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Anastasius Focht focht@gmx.net 2013-09-10 15:23:33 CDT --- Hello folks,
this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/8ae6b43bc89b80ef6e5019dccef...
Thanks Nikolay.
Hint: To disable protected mode for Adobe Acrobat Reader update registry with following one-liner:
--- snip --- $ wine reg add "HKLM\SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown" /v bProtectedMode /t REG_DWORD /d 0 /f --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=28663
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2013-09-13 13:20:42 CDT --- Closing bugs fixed in 1.7.2.
https://bugs.winehq.org/show_bug.cgi?id=28663
kaydendignadice kaydendignadice13@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kaydendignadice13@yahoo.com