Licensing and DistributionLicensing and Distribution*
*Contents  *Index  *Topic Contents
*Previous Topic: Dependencies
*Next Topic: Microsoft Script Debugger for Internet Explorer

Licensing and Distribution

Application developers who want to redistribute Microsoft® Internet Explorer technologies, such as the WebBrowser control, Wininet.dll, Urlmon.dll, or Comctl32.dll, must obtain a redistribution license for Microsoft® Internet Explorer 4.0. The Internet Explorer self-extracting executable installs a number of system files and registry entries in addition to the actual WebBrowser control. You can license Microsoft Internet Explorer for Windows® 95, Windows® 3.1, Windows NT® Workstation, and Apple Macintosh® royalty-free to redistribute within your organization or to your customers. Plus, you can use the Microsoft Internet Explorer Administration Kit (IEAK) to easily create Internet Explorer distribution media, which you can customize to specify start and search pages and a favorites list. This lets your organization create and distribute a Web browser that reflects your specific needs and the needs of your users. For more information on redistributing Internet Explorer, see the Microsoft Web page at http://www.microsoft.com/ie/ieak/.

arrowy.gifDetermining the Installed Version of Internet Explorer 4.0

arrowy.gifUsing the Internet Explorer 4.0 Minimal Installation Package

arrowy.gifAdding an Application to the Warning List for Internet Explorer 4.0 Uninstall

Determining the Installed Version of Internet Explorer 4.0

If your application requires Internet Explorer 4.0 services, you must determine the version of Internet Explorer that is installed, if any, before installing your application. There are two methods that can be used to determine the installed version of Internet Explorer. The first obtains the version information from the registry, and the second obtains the version information from one of the Internet Explorer components.

Determining the Internet Explorer Version from the Registry

To obtain the installed Internet Explorer version from the registry, open the following registry key:

HKEY_LOCAL_MACHINE\
   Software\
      Microsoft\
         Internet Explorer

In this key, obtain the "Version" value. This is a string value that contains the Internet Explorer 4.0 version in the following format:

"<major version>.<minor version>.<build number>.<sub-build number>"

Internet Explorer 3.0x does not install this value, so if this value is retrieved and the major version is "4" and the minor version is "71", then Internet Explorer 4.0 is installed.

Internet Explorer 3.0x does install the "Build" value under this same key. For backward compatibility, Internet Explorer 4.0 modifies or adds the "Build" value also. Internet Explorer 3.0x's "Build" value is a string that contains a four-character build number. Internet Explorer 4.0's "Build" value is a string that contains a five-character value that takes the following format:

"4<build number>"

Therefore, if the "Build" value is the character '4' followed by a four-character build number, Internet Explorer 4.0 is installed.

Determining the Internet Explorer Version from Shdocvw.dll

The Internet Explorer browser is implemented in Shdocvw.dll. The version of this DLL is used to determine which version of Internet Explorer is installed. If this file is not present, Internet Explorer is either not installed or is not properly installed.

The following are the different versions of Shdocvw.dll and the browser version that each represents.

The following function retrieves the major and minor version numbers of the Shdocvw.dll that is installed on the local system.

#include <windows.h>
#include <shlwapi.h>

HRESULT GetBrowserVersion(LPDWORD pdwMajor, LPDWORD pdwMinor)
{
HINSTANCE   hBrowser;

if(   IsBadWritePtr(pdwMajor, sizeof(DWORD)) || 
      IsBadWritePtr(pdwMinor, sizeof(DWORD)))
   return E_INVALIDARG;

*pdwMajor = 0;
*pdwMinor = 0;

//Load the DLL.
hBrowser = LoadLibrary(TEXT("shdocvw.dll"));

if(hBrowser)
   {
   HRESULT           hr = S_OK;
   DLLGETVERSIONPROC pDllGetVersion;
   
   /*
   You must get this function explicitly.
   */
   pDllGetVersion = (DLLGETVERSIONPROC)GetProcAddress(hBrowser, TEXT("DllGetVersion"));
   
   if(pDllGetVersion)
      {
      DLLVERSIONINFO    dvi;
      
      ZeroMemory(&dvi, sizeof(dvi));
      dvi.cbSize = sizeof(dvi);
   
      hr = (*pDllGetVersion)(&dvi);
      
      if(SUCCEEDED(hr))
         {
         *pdwMajor = dvi.dwMajorVersion;

         *pdwMinor = dvi.dwMinorVersion;
         }
      }
   else
      {
      /*
      If GetProcAddress failed, there is a problem with the DLL.
      */
      hr = E_FAIL;
      }
   
   FreeLibrary(hBrowser);

   return hr;
   }

return E_FAIL;
}

Using the Internet Explorer 4.0 Minimal Installation Package

The Internet Explorer 4.0 minimal installation package includes the Internet Explorer 4.0 base browser, DirectShow, and the Microsoft Win32 VM for Java. The package can be run in normal mode with user interface and prompts or in automated mode without user interface and prompts. The following installation packages are available:

Installation Package Target Platform
ie4stw95.exe Windows® 95
ie4stnt.exe Windows NT® 4.0 for the Intel X86 processor

The following command line:

ie4stw95.exe /Q:A 

will install the Internet Explorer 4.0 minimal installation package with the following options:

The following command line:

ie4stw95.exe /Q:A /C:"ie4wzd.exe /Q:A /X /I:N /R:N /S:""#e"""

will install the Internet Explorer 4.0 minimal installation package with the following options:

For other installation options, please refer to the Internet Explorer Administration Kit.

Note These examples use the Windows 95 installation package, but the command line options are the same for all packages.

Before installing Internet Explorer 4.0, you must make sure that the setup application has the proper administration rights (if applicable) and that there is enough hard disk space available for the installation. The minimal installation package requires approximately 60 MB of free disk space to accommodate the temporary and installed files.

Once the installation is complete, your setup application must reboot the computer in order for the Internet Explorer 4.0 installation to complete. Your setup application should ask users if they want to reboot the computer and give them an option not to. Internet Explorer 4.0 will not be useable until the computer has been rebooted.

Adding an Application to the Warning List for Internet Explorer 4.0 Uninstall

If your application requires Internet Explorer 4.0 services, you can add your application to the list of applications that require Internet Explorer 4.0 to be installed. When users attempt to uninstall Internet Explorer 4.0, this list will be displayed and they will be told that these applications may not function correctly if Internet Explorer 4.0 is uninstalled. Users will be asked if they still want to uninstall Internet Explorer 4.0.

To add your application to this list, add a string value under the following key:

HKEY_LOCAL_MACHINE\
   Software\
      Microsoft\
         IE4\
            DependentComponents

Under this key, create a string value that takes the following format:

MyApp = "My Application."

The value name in this example is "MyApp". Make sure the value name you create is unique among all other values in the same key. The value's data ("My Application.") is what is actually displayed to the user.

When your application is uninstalled, remember to remove any values you add under this key.


Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.