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.
It may be useful to familiarize yourself with the individual parts that make up a distribution unit. In addition to your software componentsuch as an ActiveX® control (.ocx), a .dll, an .exe, a Java class file, or an appletInternet Component Download distribution units consist of the following:
Cabinet files are containers for compressed files. They've been used for years to compress software distributed on disks.
Cabinet files used in the context of Internet Component Download services always contain an OSD file and/or an INF file. A cabinet file may or may not also contain a software component and/or a catalog file.
Microsoft supplies a cabinet resource kit containing tools a developer can use to build cabinet files.
Catalog files specify that a given set of files belongs to the same logical group of files. Catalog files, supported by Internet Explorer version 5 and later, are used to avoid multiple trust dialog boxes when users download software components.
For more information about catalog files, see Using Catalog Files.
Cabinet files can (and should) be digitally signed. A digital signature provides accountability for software developers by associating a software vendor's name with a given file.
INF files provide installation instructions. Internet Explorer 3.0 and later uses INF files to install and register software components downloaded from the Internet.
For more information about INF files, see Using INF Files.
Open Software Description is an XML vocabulary used to describe software components and their relationships to other components.
For more information about OSD files, see Open Software Description Overview.
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.
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.
This section presents a generalized list of tasks required for creating a distribution unit for Internet Component Download.
<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.
Internet Explorer handles the OBJECT object and the CODEBASE= attribute in the following manner:
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:
If the user's browser (for example, Internet Explorer 3.0) doesn't recognize OSD files, only the INF file is processed.
The following lists contain links to articles relevant to distribution units and Internet Component Download.
Overviews
References
Tutorials