======================================================================= Release notes for the Internet Client Software Development Kit Copyright (c) Microsoft Corporation, December 1997 ======================================================================= Note: If you did not access this document from \help\default.htm, go to that location because it is a better place to begin reading documentation. This Readme.txt is the second URL in that document's left-hand frame. If you are unfamiliar with the Internet Client SDK, you might want to look at the Overview section. There is a great deal of new material and technologies available through that section. ----------------------------------------------------- What's New for Internet Client SDK 4.01 refresh ----------------------------------------------------- For latest breaking information of the Internet Client SDK 4.01 refresh, please be sure to read the "What's New" section of the Welcome page from the Internet Client SDK Download site at: http://www.microsoft.com/msdn/sdk/inetsdk. ----------------------------------------------------- WELCOME TO THE INTERNET CLIENT SDK 4.0 ----------------------------------------------------- These are the release notes for the Internet Explorer 4.0 version of the SDK. This release has been tested primarily on Visual C++ 5.0, Windows 95 and Windows NT, and Internet Explorer 4.0 releases. Here's a brief description of the contents of this folder, followed by release notes: BIN SDK tools, DLLs, and self-extracting .exe files HELP HTML documentation (Default.htm) for Web content and software development INCLUDE Include files for Internet development LIB Libraries for Internet development SAMPLES Samples for Web content developers and software developers COMPLIB Internet components (ActiveX Controls, Java applets, and so on) ----------------------------------------------------- PREREQUISITES OF THIS RELEASE OF THE SDK ----------------------------------------------------- To do development with this SDK, you need to have installed on your computer: * Internet Explorer 4.0. * If you are developing software, the latest Win32 development files. You might already have installed these from the latest Platform SDK at http://www.microsoft.com/msdn/sdk/. Otherwise, the subset you need is available as a download from the Internet Client SDK download page under "Win32 SDK Libraries & Headers". * Windows 95 or Windows NT 4.0 SUR (final version). * Development tools, if you are building software. This product has been tested primarily on Visual C++ 5.0. (See "Configuration Issues" below for more information.) Installing the SDK on Memphis Beta 1 hasn't been fully tested. If you try this, you must upgrade the Memphis release with the latest Internet Explorer 4.0 release. ----------------------------------------------------- INSTALLATION ISSUES -- CD AND INTERNET INSTALLS ----------------------------------------------------- ActiveSetup from the Internet: Essentially the ActiveSetup from a CD is identical to the ActiveSetup from the Web. One difference is that the CD will have an image of a fully installed SDK. If for some reason you are unable to use ActiveSetup, this should not prevent you from being able to use the documentation and seeing the samples. Copying those files from the CD to your hard drive (without using ActiveSetup) is not a supported method of installation. The new website for installing the SDK is: http://www.microsoft.com/msdn/sdk/inetsdk/ASetup The download site is designed to allow you to download the bits that you're interested in, while ignoring the others for another day. You can return to the site for incremental downloads that nicely integrate into your installation. The downloads are targeted at three major development tasks/audiences: Web and Desktop Content Providers, ActiveX Component Developers, and Internet Application Developers. There is also a Component Library with helpful Internet components such as the Microsoft Chat and NetShow controls. A useful feature of the documentation is that it integrates well on the client computer. If you make a jump from the documentation to a set that you have not yet installed, the documentation will invite you back to the download site to install that documentation set. When you do this, the links will be resolved to the new pages. ----------------------------------------------------- GETTING STARTED ON DOCUMENTATION ----------------------------------------------------- The documentation has lots of great new content. The entry point is \help\default.htm. All documentation should be accessed through this file. Accessing other HTML files directly will cause scripting errors and break navigation links. ----------------------------------------------------- CONFIGURATION ISSUES ----------------------------------------------------- If you have Visual C++ 5.0 and the latest release of the Platform SDK, you should set your environment variables by executing the following commands on your command line (note: make exceptions to make sure you go to the correct directories): cd \vc\bin vcvars32 x86 cd c:\mstools setenv c:\mstools cd c:\inetsdk setenv c:\inetsdk If you have Visual C++ 5.0 and installed the Win32 development files from the Internet Client SDK, you should set your environment variables by executing the following commands on your command line (again note: make exceptions to make sure you use the correct directories): cd \vc\bin vcvars32 x86 cd c:\inetsdk setenv c:\inetsdk If a set of Win32 development files wasn't found in either case, you will be warned not to pursue development. If you are developing on a Windows 95 computer, you will want to increase your environment space. You can do this by changing "Initial environment" on the "Memory" tab of the "Properties" menu, which is accessible by clicking in the extreme upper-left corner of your MS-DOS prompt window. ----------------------------------------------------- BUILDING/USING SAMPLES ----------------------------------------------------- For both software and content developers, the samples are located in the \samples directory, and are often referenced in the documentation as examples. The Samples.htm file (accessible from Default.htm) provides more detailed information about each sample. You will find several new samples targeted at content development. These are not the traditional type of samples that use compilers or linkers--these are HTML and CDF samples, and others, that show you how to use or develop content on Web pages. For software developers, each sample that produces a binary has a makefile in its directory. You can execute all of these recursively by executing ...\samples\makeall.bat. All samples should build on Visual C++ 5.0. Several of the ChatOCX samples are Visual Basic samples. You will need to have Visual Basic installed to build and execute these samples. ----------------------------------------------------- WHAT'S IN THE \BIN DIRECTORY ----------------------------------------------------- Lots of new, good stuff! Many of the following are self-extracting CAB files; you can read more about them in the documentation or in the .txt files in the \bin directory. Upon download, these file are installed in either the \bin directory of the \complib directory. * Microsoft Agent files: ACE.exe (a character editor), and Liset.exe (linguistic sound). * CDCache.exe: A tool that allows you to create a cache container so you can reference resources off of a CD-ROM. (see documentation in the Internet Tools and Technology section of the SDK). * CDFTest.exe, CDFTest.txt: A program that will take a CDF file or OSD file and verify its structure and syntax. It will find and report mistakes such as missing end tags as well as incorrect or misspelled tags. * XMLint.*, XMLint.txt: A tool that checks whether an input file (or URL) is a well formed XML file. * StyleT.exe, StyleT.htm: A CSS Style Sheet Validation Tool. This allows you to: Ensure the syntax of CSS Style Sheets (and Inline Styles) is valid, Verify they conform to the W3C CSS Specification, Identify the usage of CSS extentions supported by Microsoft Internet Explorer. * Chkjava.exe and Javasign.dll: Tools for signing Java permissions (see notes below). * Updated MIDL compiler. * Cdllogvw.exe, Cdllogvw.txt: A useful tool to view error logs during downloads. * CDFGen.exe: Microsoft CDF Generator (previously known as Liburnia.exe): This is a CDF creation wizard. * Wmfcnv.exe, wmfcnv.txt: Windows metafile converter. * Cab-sdk.exe: The cabinet development kit components. (self-extracting cab) * Nm20sdk.exe: The NetMeeting version 2.0 SDK components. (self-extracting cab) * Ns*.exe: Various NetShow tools and demonstrations. (self-extracting cab) * Wpsdk.exe: WebPost DLLs to be used if you build the WebPost samples or do Webpost development. (self-extracting cab) * Lpk_tool.exe, Lpk_tool.txt, Lpk_tool.hlp: A tool that generates licensing package files for use with licensed ActiveX Controls. * New code signing tools for Authenticode 2.0 (see Known Issues below): cert2spc.exe, certmgr.exe, chktrust.exe, imagehlp.dll, makecert.exe, makectl.exe, msvcrt.dll, setreg.exe, signcode.exe, signer.dll. ----------------------------------------------------- WHAT'S IN THE \CompLib DIRECTORY ----------------------------------------------------- * Chatcntl.exe, MSChat1j.exe: Microsoft Chat Control and Microsoft Chat Java applet. * Nlaudio.ocx and Nlfile.ocx: NetShow controls. * Mdac*.exe, Mdac.txt: The Microsoft Remote Data Access components for the server (formerly ADC). (self-extracting cab) * MSAgent.exe, CGram.exe, Actcnc.exe: Files for Microsoft Agent, including speech files. ----------------------------------------------------- KNOWN ISSUES OR BUGS ----------------------------------------------------- MSTASK.H: The Task Schedular interface introduced during beta as ISchedulingAgent has been renamed to ITaskScheduler in the final release of the product. This is FYI only, no recompile is necessary. BLEND TRANSITION - CSS: Attempting to assign a shape value (for example, Box-In, Wipe-Left) in a script to a Blend transition causes Internet Explorer to GPF. Don't do this. Setting a shape value to a Blend Transition in CSS is ignored. This will most likely happen when authors are editing code that changes a Reveal Transition to a Blend Transition without taking out any code that sets the transition shape. BINDINFO and ATL: The BINDINFO structure has changed size between Internet Explorer 3.x and Internet Explorer 4.0. There are more details in the documentation for BINDINFO that tells how to check this structure and how it applies to your code. Some of the ATL samples in this SDK -- Glass, IEMime, and TDC for example -- use classes based on the ATL CBindStatusCallback class, which implements asynchronous moniker downloads. The version of ATL shipping with Visual C++ 5.0 fails to release some interfaces and handles the size of the BINDINFO structure incorrectly inside CBindStatusCallback. The Glass IEMime and TDC samples are not affected because they provide their own revised CBindStatusCallback implementations. However, any customers who create projects based on these SDK samples but use CBindStatusCallback directly should be aware of these issues. ATL users should also be aware. Microsoft is currently planning to resolve these problems in a future Service Pack for Visual Studio. OBJBASE.H CoCreateStandardMalloc is defined in the objbase.h header file, however this function is obsolete and will be removed in a future release. Attempting to use this in your code will generate unresolved symbol errors during linking. CoGetMalloc should be used instead. ----------------------------------------------------- LATE BREAKING DOCUMENTATION UPDATES ----------------------------------------------------- AUTHENTICODE RELEASE NOTES: The following functionality has been added to the CertMgr program. Putting Certificates, CTLs, and CRLs with CertMgr The following syntax can be used to invoke CertMgr to put an X509 encoded certificate, CTL, or CRL into a file: CertMgr -put [options] [-s [-r registryLocation]] SourceStore FileName SourceStore is the source certificate store that contains the existing certificates, CTLs, and CRLs. FileName is the file to which an X509 encoded certificate, CTL, and CRL will be saved. If the -7 option is used, the file will be saved as a PKCS#7. CertMgr can put either certificates, CTLs, or CRLs. If there is more than one item in one of these categories, the user has two options: 1.Use the -n and -sha1 options to uniquely identify the item. 2.Do not specify any options, and CertMgr will prompt the user with a list of items to put. The user responds by entering the index of the item to add. The options are: -c Put certificates. -CTL Put CTLs. -CRL Put CRLs. -7 Save the certificate, CRL, or CTL as a PKCS#7. -e encodingType Certificate encoding type. -y storeProviderType Store provider type. -f dwFlags Store open flag. This is the dwFlags parameter passed to CertOpenStore. The default value is CERT_SYSTEM_STORE_CURRENT_USER. Meaningful only if -y is set. For more information see the CryptoAPI 2.0 documentation. -n commonNameString The common name of the certificate to put. Can be used only with certificates. -s Indicates the SourceStore is a system store. If this option is not set, the store is a StoreFile. -sha1 sha1Hash The SHA1 hash of the certificate, CTL, or CRL to add. -r registryLocation Identifies the registry location of the system certificate store. Meaningful only when -s is set. Must be set to either currentUser or localMachine. currentUser is the default. currentUser means that the certificate store is under the registry key HKEY_CURRENT_USER, localMachine means HKEY_LOCAL_MACHINE. -? Displays all the options. The following example puts an X509 encoded certificate, that is located in the Root certificate store, to a file called newCert.cer. The certificate's common name is "myCert". certmgr -put -c -n myCert -s root newCert.cer UPDATE/CORRECTIONS TO DHTML FILTERS AND TRANSITIONS DOCUMENTATION: * When chaining together filters and transitions, it is advised that transitions be specified at the end of the list. * Under the section titled, "Properties, Methods, and Events" it lists Duration and Status as transtion properties. There should also be listed the Enabled property, which is present on all visual filters and transtions. A value of FALSE will disable the visual filter or transition. A value of TRUE means the visual filter or transition is active. The default value is TRUE. This value can be set both in the style sheet and through script. * The Enabled link on the Filters and Transitions page mistakenly jumps to the Enabled property for the Active Move control * In the overview for Transitions, the Play and Stop links mistakenly jump to the Play and Stop properties for the NetShow Player Audio control. Jumping to the link will also install the control if it hasn't already been installed. * In the Creating Multimedia Effect With Visual Filters and Transitions section, the Duration link mistakenly jumps to the Duration property for the NetShow Player Audio control. Jumping to the link will also install the control if it hasn't already been installed. * The first "Show Me" example uses improper syntax. should be * The Glow filter's Strength property has a range from 1 to 255, not 0 to 100. * The example for the sentence, "Timers create cyclical effects, as in the following interactive demonstration." is not a good example. It does not work as intended. * The Transition Wizard may produce a scripting error when trying to demonstrate the code generated. This is only a problem when showing how the code works within the Wizard. The code it generates will work normally when cut-and-copied to an HTML document. * Disregard the explanitory text after the list of filter names under the Visual Filters subheader under Visual Transition Filters Reference.