Microsoft KB Archive/930268

From BetaArchive Wiki
Knowledge Base


You cannot visit a Web site if you pass the address through an ActiveX control that accepts extended characters as parameters in Internet Explorer 7

Article ID: 930268

Article Last Modified on 10/27/2007



APPLIES TO

  • Windows Internet Explorer 7



SYMPTOMS

After you upgrade to Windows Internet Explorer 7, you may receive the following HTTP status message from a server:

404 File not found

You receive this status message if you pass the URL address through an ActiveX control that accepts extended characters as parameters.

CAUSE

This issue occurs when an ActiveX control uses the InternetOpenUrl API, an API that Microsoft Internet Extensions for Win32 (wininet.dll) exposes. When the ActiveX control passes extended characters from the URL as a parameter to the InternetOpenUrl API, extended characters are removed from the URL. The resulting URL address will be rejected from the Web server, and you will receive a "404 File not found" HTTP status message from the Web server.

The changes that were implemented in Internet Explorer 7 included a fix that addressed an international character encoding issue. This fix cannot be removed from Internet Explorer 7. Additionally, the fix to Internet Explorer 7 has insufficient context to enable Internet Explorer 7 to selectively behave as earlier versions of Internet Explorer behaved.

WORKAROUND

To work around this issue, you can use an ActiveX control that uses the InternetCanonicalizeUrl API before the URL is passed to the InternetOpenUrl API. The InternetCanonicalizeUrl will convert extended characters into the escaped versions of these characters, and the InternetOpenUrl API will not remove these escaped characters.

You may want to contact the manufacturer of the ActiveX control that exhibits this behavior to obtain a version that uses this workaround.


Additional query words: 404 webaddress htm ie7 7.0 ie

Keywords: kbtshoot kbwebbrowser kbweb kbprb kbcontrol kbexpertiseinter KB930268