Click to return to the Content     
Knowledge Base Articles     Overview    
Web Workshop  |  Content & Component Delivery

Frequently Asked Questions


Printing this FAQ?

General Questions

Frequently Asked Questions About OSD

Technical Questions

Channels
Component Packaging / Code Download


Channels

What MIME type do I specify in my dynamically generated .cdf file?

.cdf files that are dynamically generated through Active Server Pages (ASP) should insert the following line at the top of the file (before any CDF lines):
<% Response.ContentType = "application/x-cdf" %>
This ensures that servers return the correct MIME/content type application/x-cdf.

Problems with .cdf files being displayed as HTML text inside the Internet Explorer browser, instead of invoking the subscription wizard, may be caused by the server returning the incorrect MIME type of text/html instead of the desired application/x-cdf.

When dynamically generating a .cdf file from an Active Server Pages (ASP) page, is the ASP file the one the user needs to subscribe to?

Yes, assuming that the correct CDF MIME type is specified in the ASP page, as illustrated in the question above, double-clicking on a link to the ASP file should bring up the CDF subscription wizard appropriately.

I cannot use the ampersand character (&) in my CDF TITLE. Do I have to treat certain characters in a special way when working with .cdf files?

As mentioned in the "CDF Parsing Rules and Hints" section of the CDF Reference, CDF supports encoding of ASCII characters with the format &#nnn. The ampersand character, therefore, could be encoded with its ASCII decimal value of 38 by using the string &#038.

To specify "Peaches&Cream", for instance, here's what your <TITLE> tag would look like:
<TITLE>Peaches&#038;Cream</TITLE>

Is it necessary to specify the <!DOCTYPE> tag in my .cdf file?

No, Internet Explorer 4 does not use the <!DOCTYPE> tag.

Is http://www.w3c.org/channel.dtd a valid URL for a <!DOCTYPE> tag?

No, this URL is only an example, it does not actually exist and is best not used in actual .cdf files.

Is there a way to detect from an HTML page whether the user is already subscribed to it?

Yes, there is a way to do this, both in script and in C++ using the ISubscriptionMgr interface that Internet Explorer 4.0 exposes. This is described in detail in the following Knowledge Base article: HOWTO: Determining Whether a User Is Subscribed to a Channel. Non-MSDN Online Link

Is there a difference between the subscription cache and the regular cache that Internet Explorer maintains?

All subscription information goes into the same cache maintained by Internet Explorer. However, the subscription content in the cache is marked so that it does not get deleted when a user clears the cache.

If the user is browsing a subscribed channel while they are connected to the Internet, is content pulled from the cache, or does Internet Explorer query the server again?

Internet Explorer looks at the expires HTTP header returned by the server when the page was retrieved and checks if the cached page is still valid. If it is, then content is pulled from the cache; otherwise, Internet Explorer queries the server again for the content. Note that when Internet Explorer re-queries the server for content, in most cases, Internet Explorer will issue an HTTP GET request with an If-Modified-Since header, which helps reduce the server load.

Does the actual download of the HTML page occur upon subscription to the site, or only during a subscription update?

Actual download occurs during subscription update. However, users can manually update a subscription any time they want.

From a .cdf file, is there a way to specify items to be cached, without having the items appear in the channel bar's item list? For example, can I specify a .wav file to be downloaded as part of the subscription update so that it gets cached and is available when the user browses offline?

Yes, here's the correct way to do this:
<ITEM HREF="http://example.microsoft.com/sound.wav">
   <USAGE VALUE="NONE"></USAGE>
</ITEM>

Note that in XML, an element that does not have child elements can be represented in a more compact format. For instance, the above <USAGE> line could be written more compactly in this manner (note the final / at the end of the tag):
<USAGE VALUE="NONE"/>      

Also, when listing multiple items that are to be cached but not viewed in the channel pane, instead of marking each one with a <USAGE VALUE="NONE"/>, it is better to place them all in one sub-channel that is marked with a <USAGE> tag, as illustrated in the example below:
<CHANNEL>
   <USAGE VALUE="NONE"/>
   <ITEM HREF="http://example.microsoft.com/sound1.wav"/>
   <ITEM HREF="http://example.microsoft.com/sound2.wav"/>
   <ITEM HREF="http://example.microsoft.com/sound3.wav"/>
</CHANNEL>

Is there a way to specify the order of items to be cached from a .cdf file? I want to ensure that high priority items are downloaded first during a subscription update.

No, there are no plans to provide support for this for Internet Explorer 4.

Is it possible to specify multiple schedules for updates in one .cdf file?

No, only one schedule can be specified per CDF in Internet Explorer 4. Also, a desktop component cannot be bundled with a channel in one CDF. They have to be two separate .cdf files to work correctly.

Is it possible to specify a global time for the <SCHEDULE> tag, so that my channel updates occur between certain times, regardless of the time zone?

Currently there is no way to specify local or global time in a .cdf file. Information specified in the <EARLIESTTIME> and <LATESTTIME> tags are both considered local and ignore any time zone information specified in the <STARTDATE> and <ENDDATE> tags.

Is there any way my application can get notified when a channel gets updated?

Internet Explorer 4.0 will not be providing support for this. The set of APIs that would have provided this functionality did not reach a point of stability and robustness that we felt our partners would find acceptable so this feature has been postponed until a future version of Internet Explorer.

Is there any way to find out when a channel was last updated?

Yes, through the WinInet API GetUrlCacheEntryInfoEx. This API, which takes a URL as a parameter, returns an INTERNET_CACHE_ENTRY_INFO struct containing information such as local cache UNC path, LastModifiedTime, and similar type of information about a cached file.

What exactly does <USAGE VALUE="Email"/> mean to my channel?

The URL specified is e-mailed to the subscribed user when the channel content is updated. For an e-mail client that is not HTML-aware, the link to the URL is sent instead.

After a user subscribes to my .cdf file, my specified logo does not show up correctly in the Active Desktop channel bar. The generic satellite dish icon seems to be displayed instead. What's wrong?

Any of the following could cause this problem to occur:

How does one delete a channel subscription completely from Internet Explorer's cache?

You can do this by right-clicking the channel logo in the channel bar and selecting Delete. This causes channel information to get deleted from these places:

Is there any way to specify a placement order for my channel in the channel bar? I want to add my channel to the top of the bar.

No, there is no way to do this. By default new channels will be added to the bottom of the channel bar.

I haven't been able to get my desktop component to work unless I put it on a separate CDF from the rest of my channel. Is this how it's designed to work?

Yes, desktop components have to be in a separate .cdf file from the rest of the channel.

We are trying to distinguish between genuine hits on our channel versus periodic hits from the Internet Explorer WebCrawler trying to update content. Is there a way to do this using the User-Agent HTTP header?

Yes, this is determined by the presence or absence of the MSIECrawler string in the User-Agent string passed in the HTTP request to the server.

The Internet Explorer 4.0 WebCrawler sends the following User-Agent string, as it tries to update content on the client machine:
"Mozilla/4.0 (compatible; MSIE 4.0; MSIECrawler; Windows 95)" or
"Mozilla/4.0 (compatible; MSIE 4.0; MSIECrawler; Windows NT)"
Whereas Internet Explorer 4.0 generally sends the following User-Agent string (without the MSIECrawler):
"Mozilla/4.0 (compatible; MSIE 4.0; Windows 95)" or
"Mozilla/4.0 (compatible; MSIE 4.0; Windows NT)"


Component Packaging / Code Download

When downloading a User Document in Internet Explorer, I receive the error "Internet Explorer is opening file of unknown type: MyUserDocument.VBD...." What's wrong?

There are many known causes of this error. Please refer to the following Knowledge Base article: PRB: IE Reports Unknown Type .VBD for ActiveX Document Non-MSDN Online Link for more information and possible solutions to this problem.

When downloading a digitally signed file, rather than displaying the Certificate dialog box as expected, a message box appears indicating that the file has been digitally signed but that it cannot be confirmed. What's wrong?

Microsoft has recently confirmed a rare Certificate Verification bug caused by the .reg files offered as part of the tools set of the ActiveX SDK. The bug causes the .reg files, Wvtston.reg and Wvtstoff.reg, to set the system to check Verisign's revocation server extraneously. This error occurs only when your system is set to check the Revocation server, and the Revocation server itself is down (a very rare occurrence). The recommended solution is to use SetReg.exe available in the Internet Client SDK's \Inetsdk\Bin folder, rather than the .reg files in the ActiveX SDK. SetReg.exe should be used to disable Revocation checking on your machine. By issuing the following command, the off-line revocation server for individual certificates is disabled:

Setreg 4 true
By issuing the following command, the off-line revocation server for commercial certificates is disabled:
setreg 5 true

Is there a way to see a debug trace of code download activity in Internet Explorer 4.0?

In Internet Explorer 3.x, this was made possible by installing the debug versions of Urlmon.dll and Wininet.dll, as outlined in the following Knowledge Base article HOWTO: Debugging Code Download Activity in Internet Explorer 3.x. Non-MSDN Online Link

In Internet Explorer 4.0, there is a tool available in the Internet Client SDK that allows you to do this more easily. See \Inetsdk\Bin\Cdllogvw.exe. There is also a Cdllogvw.txt file available in the same directory for more details.

What version of the MFC DLL files ship with Internet Explorer 4.0? I'd like to know so I don't have to worry about packaging the MFC DLL files with my ActiveX Control.

Any component should be careful not to rely on the presence of any MFC DLL files with the currently installed browser, because Internet Explorer 4.0 and future versions of Internet Explorer may ship alternative versions, or may not even ship any MFC DLL files at all. A component that uses the MFC DLL files as dependencies should package the MFC DLL files accordingly. More information on how to correctly package MFC DLL files correctly with your MFC component can be found in the following Knowledge Base article: HOWTO: Packaging MFC Controls for Use Over the Internet. Non-MSDN Online Link


Back to topBack to top

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