Click to return to the Content     
Choosing a Packaging and ...     Using Catalog Files     Internet Component Downlo...    
Web Workshop  |  Content & Component Delivery

Distribution Unit Overview


Internet software distribution units are packages consisting of a cabinet file (.cab) that contains an INF file and/or an OSD file, with or without a software component. One or more distribution units may be needed to distribute a single software component.

You, the software provider or Web master, can create distribution units that, when placed on your Web server, enable Microsoft® Internet Explorer's Internet Component Download services to pull down and install software on users' computers.

Key Terms and Concepts

It may be useful to familiarize yourself with the individual parts that make up a distribution unit. In addition to your software component—such as an ActiveX® control (.ocx), a .dll, an .exe, a Java class file, or an applet—Internet Component Download distribution units consist of the following:

Benefits

Each of a distribution unit's parts has its own set of advantages. The parts can be combined to provide enhanced functionality within a given problem domain.

Sample Uses

The following configurations are possible for Internet software distribution units:

Each distribution unit configuration has advantages for particular uses and can be combined with one or more of the other configurations for enhanced functionality within a given problem domain. Any one of the above configurations within a given software distribution may also contain a catalog file.

How It's Done

This section presents a generalized list of tasks required for creating a distribution unit for Internet Component Download.

  1. Create the software component.
  2. Determine the files you need to distribute with the component (dependencies).
  3. Choose a method for packaging and distributing your component.
  4. Create the INF and/or OSD files. These are the instructions that Internet Explorer will use to find and install the component and its dependencies.
  5. Build the cabinet file or files. Remember to leave space in the cabinet file(s) for your digital signature.
  6. Sign the cabinet files. If your software distribution consists of multiple distribution units, each cabinet file should be signed. Include a signed catalog file to enable users with Internet Explorer version 5 and later to avoid multiple certificates.
  7. Reference the first distribution unit using the CODEBASE attribute of an OBJECT element on a Web page to specify the URL of the cabinet file. The following excerpt from a sample HTML file demonstrates how the OBJECT element and CODEBASE attribute are used to access an ActiveX control packaged in a cabinet file.
    <OBJECT CLASSID="clsid:dcf0768D-ba7a-101a-b57a-0000c0c3ed5f"
        CODEBASE="http://example.microsoft.com/time.cab#Version=1,0,0,0"
        ALIGN="CENTER" WIDTH="270" HEIGHT="26" ID="T1">
            <PARAM NAME="Interval" VALUE="1000">
            <PARAM NAME="Enabled" VALUE="1">
    </OBJECT>

    Note that #Version can be specified in the CODEBASE attribute of the OBJECT element to control updates and limit unnecessary downloads. If #Version is not specified and a version of this component is already installed on the user's computer, no download occurs. If #Version is specified and an earlier version of the component is already installed on the user's computer, the object will be downloaded. If the component specified in the OBJECT element is not present on the user's computer, the component will be downloaded whether #Version is specified or not.

How the Cabinet File is Processed

Internet Explorer handles the OBJECT object and the CODEBASE= attribute in the following manner:

  1. Internet Explorer parses the OBJECT object and searches for the CODEBASE= attribute. If the CODEBASE= attribute is absent or is preceded by a URL-to-object index server in the CodeBaseSearchPath, this index is used to retrieve the file.
  2. Internet Explorer locates the cabinet file identified by the CODEBASE= attribute.
  3. Internet Explorer expands the files found in the cabinet file.
  4. Internet Explorer copies the expanded files to the user's computer. For Windows® 95/98 users with Internet Explorer version 4.0 and later, the download directory is \WINDOWS\Downloaded Program Files. For Windows NT® 4.0 users with Internet Explorer version 4.0 and later, the download directory is \winnt\Downloaded Program Files. The default directory for earlier versions of Internet Explorer is \WINDOWS\occache. Note that the occache directory will exist but not be used on computers upgraded from Internet Explorer 3.0.
  5. Internet Explorer registers the objects and/or files that require registration.
  6. Internet Explorer calls the Component Object Model (COM) CoCreateInstance function to create an instance of the specified object.

If both an INF and an OSD file are present and the user's browser (for example, Internet Explorer 4.0) recognizes OSD files, the cabinet file is processed according to the following priorities:

  1. The parser looks inside the current cabinet file for the OSD file. If found, it is processed. OSD files may also reference the INF file. In this case, both files are processed, but notice that the OSD file is really controlling the process.
  2. If there is no OSD file present, the parser looks for an INF file to process.

If the user's browser (for example, Internet Explorer 3.0) doesn't recognize OSD files, only the INF file is processed.

Related Topics

The following lists contain links to articles relevant to distribution units and Internet Component Download.

Overviews

References

Tutorials



Back to topBack to top

Did you find this topic useful? Suggestions for other topics? Write us!

© 1999 Microsoft Corporation. All rights reserved. Terms of use.