CDF Extensions for Software Distribution Channels

CDF Extensions for Software Distribution Channels


This section describes the elements and associated attributes used to create Channel Definition Format (CDF) and Open Software Description (OSD) files for Software Distribution Channels. This new technology allows users to automatically have new versions of software downloaded and installed from the Web. More information on CDF files is available in the CDF Reference for Active Channels.

CDF Elements

The reference for each Software Distribution Channel element defined below includes an "Applies To" section indicating which type of file (OSD or CDF) uses the element.

CLASS CODE CODEBASE DELETEONINSTALL
DEPENDENCY   ICON IMPLEMENTATION   ISBEAN
JAVA LANGUAGE   NAMESPACE   NATIVECODE
NEEDSTRUSTEDSOURCE   OS OSVERSION PACKAGE
PROCESSOR SOFTPKG SYSTEM TYPELIB

CLASS

<CLASS
CLASSID="{id}"
NAME="classname"
>

Specifies a class within a Java package.

CLASSID="{id}"
Specifies a unique identifier for the class file. For Microsoft® Internet Explorer, this value must be in GUID format {hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh}, where "h" is a hexadecimal digit.
NAME="classname"
Required. Indicates the name of the class file. The ".class" file extension is required.

Number of allowed occurrences: Any number
Parent elements Child elements
PACKAGE ICON
ISBEAN
TYPELIB

Example:

<CLASS NAME="Browserbean" CLASSID="{01234567-89AB-CDEF-0123-456789ABCDEF}">
	<ISBEAN />
	<ICON FILENAME="Browser.ico" />
	<TYPELIB CLASSID="{01234567-89AB-CDEF-0123-456789ABCDEF}" />
</CLASS>

The end tag </CLASS> is required.

Applies To

OSD

CODE

<CODE
CLASSID="{id}"
NAME="classname"
VERSION="a,b,c,d"
>

Describes a specific instance of platform native code.

CLASSID="{id}"
Specifies a unique identifier for the component. For Internet Explorer, this value must be in GUID format {hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh}, where "h" is a hexadecimal digit.
NAME="classname"
Required. Indicates the file name containing the native code. The file name, usually a *.ocx or *.dll file, should be specified without the full path.
VERSION="a,b,c,d"
Specifies the major, minor, custom, and build version numbers. The default value is "0,0,0,0".

Number of allowed occurrences: Any number
Parent elements Child elements
NATIVECODE IMPLEMENTATION

Example:

<CODE NAME="mycontrol.ocx" 
CLASSID="{01234567-89AB-CDEF-0123-456789ABCDEF}"
	VERSION="1,1,1,0">
	.
	.
	.
</CODE>

The end tag </CODE> is required.

Applies To

OSD

CODEBASE

<CODEBASE
FILENAME="file"
HREF="url"
SIZE="n"
STYLE="ActiveSetup" | "MSICD"
/>

Specifies the location of the file or distribution unit to be installed.

FILENAME="file"
Indicates the name of the codebase. When this attribute is used, the file is expected to exist in the same archive (CAB file) as the OSD file.
HREF="url"
Indicates the URL of the codebase. When this attribute is used, the file is expected to exist on the network. Note that either fully qualified or relative URLs are allowed.
SIZE="n"
Specifies the maximum allowable size for the distribution unit. The number is given in kilobytes (K). If SIZE is exceeded, the distribution unit will not be downloaded. If SIZE is not specified, no kilobyte limit is enforced. This attribute is only valid within CDF files.
STYLE="ActiveSetup" | "MSICD"
Determines which mechanism the computer uses to download and install files from the Internet. This attribute is only valid within CDF files.
"ActiveSetup" Uses the ActiveX™ "Active Setup" engine.
"MSICD" Uses the Microsoft Internet Component Download (MSICD) to download distribution units and look at the Open Software Description (.osd) file for processing instructions. To use Internet Explorer 3.0 processing procedures, the distribution unit can contain an *.inf file.

Number of allowed occurrences: None or one
Parent elements Child elements
IMPLEMENTATION None

When contained within a DEPENDENCY block, only the HREF attribute is used. If no CODEBASE is specified, Internet Explorer checks the object store for the distribution unit. When used as a child element of a NATIVECODE or JAVA block and no CODEBASE is specified, Internet Explorer checks the current distribution unit for the files to be installed.

Applies To

CDF, OSD

DELETEONINSTALL

<DELETEONINSTALL />

Indicates that the software subscription should unregister itself once the software it describes has been successfully downloaded and installed, either through AUTOINSTALL or manually by the user. Therefore, DELETEONINSTALL subscriptions are not permanent.

Number of allowed occurrences: None or one
Parent elements Child elements
SOFTPKG None

Applies To

CDF

DEPENDENCY

<DEPENDENCY
ACTION="Assert" | "Install"
>

Specifies an additional distribution unit that needs to be present in order for the software distribution (SOFTPKG) to function correctly.

ACTION="Assert" | "Install"
Specifies what action should be taken if the required distribution unit is not present on the user's computer. When set to "Install," the required files should be downloaded and installed so the software distribution can be processed without errors. When set to "Assert," the SOFTPKG is ignored if the distribution unit is not already on the computer. This is the default. This attribute is only valid in the context of an OSD file. For a CDF file, the value "Assert" is automatically assumed.

Number of allowed occurrences: Any number
Parent elements Child elements
SOFTPKG SOFTPKG

The end tag </DEPENDENCY> is required.

Applies To

CDF, OSD

ICON

<ICON
FILENAME="file"
/>

Specifies an icon to be associated with a particular JavaBean.

FILENAME="file"
Specifes the name of an icon file to be associated with a particular JavaBean.

Number of allowed occurrences: None or one
Parent elements Child elements
CLASS None

Example:

<ICON FILENAME="Browser.ico"/>

Applies To

OSD

IMPLEMENTATION

<IMPLEMENTATION>

Specifies the configuration required by the current software distribution. If the configuration parameters are not met, the SOFTPKG element is not processed.

Number of allowed occurrences: Any number
Parent elements Child elements
CODE CODEBASE
PACKAGE LANGUAGE
SOFTPKG OS
PROCESSOR

The end tag </IMPLEMENTATION> is required.

Example:

<SOFTPKG
    HREF="http://www.bar.edu/launch-page.htm"
    NAME="The Second Sample"
    AUTOINSTALL="Yes"
    VERSION="2,1,0,0"
    STYLE="MSICD">

    <TITLE>A second sample software distribution</TITLE>
    <ABSTRACT>This software distribution will be auto-installed on your computer by default. The user can override the default settings in the subscription wizard. Needs "The First Sample" already installed to work.
    </ABSTRACT>
    <LOGO HREF="ielogo.gif" STYLE="image" / >
    <LANGUAGE VALUE = "en;de" / >
    <USAGE VALUE="email"></USAGE>
    
    <IMPLEMENTATION>
        <OS VALUE="winnt" />
        <CODEBASE VALUE="http://www.bar.edu/bar/bar-nt.cab" / >
    </IMPLEMENTATION>

    <IMPLEMENTATION>
        <OS VALUE="win95" />
        <CODEBASE VALUE="http://www.bar.edu/bar/bar-95.cab" / >
    </IMPLEMENTATION>

    <DEPENDENCY>
        <SOFTPKG NAME="The First Sample" VERSION="2,1,0,0" / >
    </DEPENDENCY>

</SOFTPKG>

Applies To

CDF, OSD

ISBEAN

<ISBEAN/>

Indicates that a particular class is a JavaBean rather than a regular Java class.

Number of allowed occurrences: None or one
Parent elements Child elements
CLASS None

Example:

<ISBEAN />

Applies To

OSD

JAVA

<JAVA>

Specifies either a Java PACKAGE or application.

Number of allowed occurrences: Any number
Parent elements Child elements
SOFTPKG PACKAGE

The end tag </JAVA> is required.

Applies To

OSD

LANGUAGE

<LANGUAGE
VALUE="language"
/>

Specifies a semicolon-delimited list of RFC 1766 language codes used for international distribution.

VALUE="language"
Required. Specifies one or more codes that indicate which languages the software's user interface supports. For example, the code "en" indicates English.

Number of allowed occurrences: Any number
Parent elements Child elements
IMPLEMENTATION None
DEPENDENCY
SOFTPKG

Example:

<LANGUAGE VALUE="en"/>

Applies To

CDF, OSD

NAMESPACE

<NAMESPACE>

Defines a private namespace for standalone Java applications.

Number of allowed occurrences: None or one
Parent elements Child elements
JAVA None

Example:

<NAMESPACE>string</NAMESPACE>

The end tag </NAMESPACE> is required.

Applies To

OSD

NATIVECODE

<NATIVECODE>

Specifies one or more platform native code distributions.

Number of allowed occurrences: None or one
Parent elements Child elements
SOFTPKG CODE

The end tag </NATIVECODE> is required.

Applies To

OSD

NEEDSTRUSTEDSOURCE

<NEEDSTRUSTEDSOURCE/ >

Indicates that the immediate caller of classes in this package needs to be fully trusted.

Number of allowed occurrences: None or one
Parent elements Child elements
PACKAGE None

Applies To

OSD

OS

<OS
VALUE="Mac" | "Win95" | "Winnt"
/>

Specifies the operating system the software supports.

VALUE="Mac" | "Win95" | "Winnt"
Required. Specifies the supported operating system:
"Mac" Macintosh® (MacOS)
"Win95" Microsoft® Windows® 95
"Winnt" Microsoft® Windows NT®

Number of allowed occurrences: Any number (per parent element)
Parent elements Child elements
IMPLEMENTATION OSVERSION

Example:

<OS VALUE="Win95"/>

Applies To

CDF, OSD

OSVERSION

<OSVERSION
VALUE="a,b,c,d"
/>

Specifies the version of the operating system the software supports. This element assumes that the software can run on all versions of the OS greater than or equal to the one specified.

VALUE="a,b,c,d"
Required. Specifies the major, minor, custom, and build version numbers.

Number of allowed occurrences: Any number (per parent element)
Parent elements Child elements
OS None

Applies To

CDF, OSD

PACKAGE

<PACKAGE
NAME="name"
VERSION="a,b,c,d"
>

Specifies a Java package or Java application.

NAME="name"
Required. Specifies the name of the Java package.
VERSION="a,b,c,d"
Specifies the major, minor, custom, and build version numbers.

Number of allowed occurrences: Any number
Parent elements Child elements
JAVA IMPLEMENTATION
CLASS

The end tag </PACKAGE> is required.

Applies To

OSD

PROCESSOR

<PROCESSOR
VALUE="Alpha" | "MIPS" | "PPC" | "x86"
/>

Specifies the type of processor the software will run on.

VALUE="Alpha" | "MIPS" | "PPC" | "x86"
Required. Indicates the supported processor is Alpha, MIPS, PowerPC, or x86, respectively.

Number of allowed occurrences: Any number (per parent element)
Parent elements Child elements
IMPLEMENTATION None

Example:

<PROCESSOR VALUE="x86"/>

Applies To

CDF, OSD

SOFTPKG

<SOFTPKG
AUTOINSTALL="No"
| "Yes"
HREF="url"
NAME="string"
PRECACHE="No" | "Yes"
STYLE="ActiveSetup" | "MSICD"
VERSION="a,b,c,d"
>

Defines a software distribution.

AUTOINSTALL="No" | "Yes"
Indicates the browser should download the distribution unit and automatically install it when set to "Yes". The default value is "No". This attribute is only valid within CDF files.
HREF="url"
Required. Specifies the "Launch URL" for this SOFTPKG element. This attribute is only valid within CDF files.
NAME="string"
Required. Specifies the name of this distribution.
PRECACHE="No" | "Yes"
Indicates the browser should download the distribution unit and leave it in the cache without attempting to autoinstall when set to "Yes". The AUTOINSTALL attribute takes precedence over PRECACHE when they are used together. The default value is "No". This attribute is only valid within CDF files.
STYLE="ActiveSetup" | "MSICD"
Determines which mechanism the computer uses to download and install files from the Internet. This attribute is only valid within CDF files.
"ActiveSetup" Use the ActiveX "Active Setup" engine.
"MSICD" Use the Microsoft Internet Component Download (MSICD) to download distribution units and look at the Open Software Description (.osd) file for processing instructions.
VERSION="a,b,c,d"
Specifies the major, minor, custom, and build version numbers.

Number of allowed occurrences: Any number (One or none per CDF or OSD file is recommended)
Parent elements Child elements
CHANNEL ABSTRACT
IMPLEMENTATION
LANGUAGE
LOGO
TITLE
USAGE

The end tag </SOFTPKG> is required.

Example:

<SOFTPKG
    HREF="http://www.foo.edu/launch-page.htm"
    NAME="The First Sample"
    PRECACHE="Yes"
    VERSION="2,1,0,0"
    STYLE="MSICD">
        <TITLE>This is a sample software distribution</TITLE>
        <ABSTRACT>Put a useful description here. The user will benefit from it.</ABSTRACT>
        <LOGO HREF="ielogo.ico" STYLE="icon" / >
        <LANGUAGE VALUE="en;de"/ >
        <USAGE VALUE="email"></USAGE>
        <IMPLEMENTATION>
            <CODEBASE VALUE="http://www.microsoft.com/foo/foo.cab" / >
</IMPLEMENTATION>
</SOFTPKG>

Note For more information about software distribution and the Open Software Description format, see Creating Software Channels for Internet Explorer 4.0.

Applies To

CDF, OSD

SYSTEM

<SYSTEM />

When used as a child element of PACKAGE, this element indicates that the package contains system classes. System classes are fully trusted and have a single global instance per Java VM. Nonsystem classes have applet-level sandboxed security but may request other permissions if the distribution unit is signed.

When used as a child element of CODE, the SYSTEM element indicates that all files described by the CODE section should be installed in the designated system directory.

Number of allowed occurrences: None or one
Parent elements Child elements
CODE None
PACKAGE

Applies To

OSD

TYPELIB

<TYPELIB
CLASSID="{id}"
/>

Specifies the type library file (*.tlb) for a particular JavaBean.

CLASSID="{id}"
Required. Specifies the unique identifier for the type library file associated with a particular JavaBean. For Internet Explorer, this file must be specified in GUID format {hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh}, where "h" is a hexadecimal digit.

Number of allowed occurrences: None or one
Parent elements Child elements
CLASS None

Example:

<TYPELIB CLASSID="{01234567-89AB-CDEF-0123-456789ABCDEF}" />

Applies To

OSD

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.