php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #14464 apphelp.dll dependency breaks extensions on platforms other than XP
Submitted: 2001-12-12 13:47 UTC Modified: 2001-12-13 22:39 UTC
From: drobert at bfm dot bm Assigned:
Status: Not a bug Package: OpenSSL related
PHP Version: 4.1.0 OS: win32 except XP
Private report: No CVE-ID:
 [2001-12-12 13:47 UTC] drobert at bfm dot bm
There is a dependency in certain modules (notably php_openssl) on apphelp.dll. This file seems to only be available on WindowsXP (and the file shipped with XP won't work on win2000). If I am correct (I'm not entirely sure), any use of this dll will render the extensions useless on any windows version prior to XP).

Source: DLL Help on MSDN. (The file is only listed as part of Windows XP).

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-12-12 18:18 UTC] sniper@php.net
there's no dll in the binary package which is directly dependent upon that 
dll. where did you get that info from?

daniel
---

Daniel, next time, use the web interface for replying to bug reports.

--Jani

 [2001-12-13 07:27 UTC] drobert at bfm dot bm
It seems that I have narrowed down the problem. The culprit does seem to
be IE6. I did the same installation on a Win2000 machine with IE5.5
instead on IE6, and the install came clean, including the dependencies.

IE6 seems to put in a dependency on a file which belongs to XP; why it
doesn't break other apps is a mystery, but that's M$.

I'm definitely paying the price for not following my own advice about
putting a new version of a microsoft product on my system before the 2nd SP.
 [2001-12-13 22:39 UTC] sniper@php.net
Report this to Microsoft.  Not a PHP bug -> bogus.

 [2003-10-17 12:11 UTC] rgarrison at jeppesen dot com
I found a number of EXEs and DLLs that Dependancy Walker show as requiring the missing APPHELP.DLL. As a bit of humor, open DEPENDS.EXE in Windows 2000 with IE 6; you will find some flagged DLLs that can't find APPHELP.DLL

Thanks for having this site accessable; it helped track down the same problem in one of our products also.
 [2003-11-26 11:31 UTC] huy at lacellule dot com
build a bogus apphelp.dll

borland c++ source
---BEGIN APPHELP.C---
#include <windows.h> 

__declspec(dllexport) BOOL ApphelpCheckShellObject(
  REFCLSID ObjectCLSID,
  BOOL bShimIfNecessary,
  ULONGLONG* pullFlags
)
{
    return FALSE;
}
---END FILE---
then build it with 
bcc32 -WD apphelp.c
copy it in a path directory
it work on windows 2000 no problem so far with this fix.
msdn has been quite usefull to know what this function basically do.
 [2004-06-08 15:08 UTC] jabbott at acusoft dot com
The fix identified here disables Windows Explorer and other features under Win2K after the first reboot.  I do appreciate the openess of the site, it has been very helpful.
 [2004-06-08 15:08 UTC] jabbott at acusoft dot com
The fix identified here disables Windows Explorer and other features under Win2K after the first reboot.  I do appreciate the openess of the site, it has been very helpful.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Sat Apr 19 09:02:28 2014 UTC