Microsoft ActiveX Software Development Kit
Last Updated July 8, 1996
This document describes the Microsoft® ActiveX™ Software Development Kit (SDK), available support for the SDK, and the ActiveX Control Pad (a new utility). It also outlines the steps required to enable your ActiveX controls for the Internet.
The ActiveX SDK includes a variety of technologies that Microsoft is introducing to facilitate development of Internet applications and content. By nature the ActiveX SDK will remain small and dynamic. You will see technologies come and go through this SDK; as they become more mature and mainstream, they will be transferred to other SDKs, such as the Win32® SDK, or you may find them as separate downloads at Microsoft's Web sites. This allows the ActiveX SDK to be kept small enough that it can continue to be downloaded from the Internet, but still be on the cutting edge for independent software vendors (ISVs) who need to stay focused on the most recent changes. The public Microsoft Web site (http://www.microsoft.com/intdev/default.htm)
contains all of the publicly released versions of technology and specifications.
Please visit this site to find more about providing feedback and receiving
support for the Microsoft ActiveX Software Development Kit.
This release of the ActiveX SDK is synchronized with the recent Internet Explorer 3.0 Beta II (IE 3.0). Over the next few months you will see frequent releases of the ActiveX SDK, which will continue to transition to meet the needs of Internet Explorer and Nashville beta releases. To keep the download small, IE 3.0 is not a part of this release; it is a separate download. You will also need the latest beta release (May 1996) of the Win32 SDK installed on your system (this is available through the MSDN Level II subscription). To build samples, it is important that you visit the Readme.txt file, which will be in the root of your ActiveX SDK installation. Due to requests from ISVs, the ActiveX.mvb file is again included in this ActiveX SDK download rather than as a separate download.
Providing documentation for a development kit as dynamic as the ActiveX SDK is a difficult process, because the information associated with developing technology is often subject to change at any time. Therefore, two sets of documentation are provided for you. The first set consists of the files in the \inetsdk\help directory of the SDK, which you can access through \inetsdk\help\default.htm. This directory typically reflects documentation that has been kept fairly well updated. The other set of documentation is in \inetsdk\specs. This documentation is easily accessible later in this document. It is typically older documentation, which may be somewhat out of date and in the process of being renewed, but it is still helpful. As always, view the readme.txt file for the newest information; and consider the header files the last word in documentation.
The Microsoft ActiveX Control Pad
The new ActiveX Control Pad lets you build ActiveX Web pages with ease.
The ActiveX Control Pad is a utility that lets you add ActiveX controls
and ActiveX scripting (Visual Basic®
Scripting Edition [VBScript] or JavaScript™) to your HTML pages
with an easy point-and-click interface. It is a great way to create and
edit pages that use the components built with the ActiveX SDK.
For more information, follow this link to the
Microsoft ActiveX Control Pad
located on
www.microsoft.com.
The Licensing Package Authoring Tool
Another tool new to the ActiveX SDK is the Licensing Package Authoring Tool (LPK_Tool), which allows you to author an LPK file. An LPK file is a licensing package that stores the run-time licenses for all of the controls used on a given page. For more details, look in you ActiveX SDK installation for LPK_Tool.exe, LPK_Tool.hlp, and LPK_Tool.txt in the \inetsdk\bin directory.
Paid Support for the ActiveX SDK
The ActiveX SDK is supported by Microsoft's AnswerPoint group (Product Support Services). You can ask questions through your Premier Level support contract. You can also ask questions through your Priority Level contract or purchase individual Priority Support incidents (essentially a one-time fee for one question). If you would like to understand more about Microsoft's paid support options, you can call Microsoft Support Sales at (800) 936-3500 from 6:00 a.m. to 6:00 p.m. Pacific time, Monday through Friday, excluding holidays. Please note that technical support is not available through this number. AnswerPoint Information is also available on the World Wide Web at http://www.microsoft.com/support/.
Free Support for the ActiveX SDK
Newsgroups are a great place for free peer support. As time and resources allow, Microsoft developers, program managers, support engineers, and test engineers visit the site to collect feedback and answer questions or correct misperceptions. They will lurk there often to read feedback, but they will not become actively involved unless a specific question is asked or a misperception is observed. This largely depends on bandwidth and time, which is greatly affected by shipping schedules. Some more interesting news groups for Internet Explorer are on microsoft.public.internetexplorer
To access newsgroups, use your preferred newsgroup reader and enter the news server address as news://msnews.microsoft.com.
You can use the following URL to access the newsgroups directly from a Web browser: news:microsoft.public.newsgroup-name. The newsreader included with Internet Explorer version 3.0 supports multiple news servers; you can download the newsreader from
http://www.microsoft.com/ie/imn/default.htm
Mailing lists are another good form of free peer support. An advantage to being on mailing list is that this is where Microsoft will make early announcements of information on a given topic. Again, it is peer support, and Microsoft staff will often lurk there but not send mail unless a specific question is asked. To learn more about mailing lists, please review http://www.microsoft.com/intdev/resource/mail.htm
Note: Many of
these documents are still preliminary specifications that are
subject to further change as more feedback from
developers and partners is received.
Contents:
- The Steps to Enabling OLE Controls for the Internet--read this section to learn about the steps to enabling existing OLE controls for the Internet.
- ActiveX Controls--read this
section to learn about ActiveX Controls, Microsoft's extensible
solution for creating objects that can be inserted universally in Web pages,
Microsoft Visual Basic® applications, and other OLE-enabled documents and applications.
- Active Documents--read
this section to understand how to create new document viewers
that can be hosted from various OLE Document Object containers
such as Microsoft Internet Explorer.
- Scripting Services--read this section
for a description of how to use Microsoft Visual Basic Scripting Edition or other scripting languages
to add interactive action to Web pages through OLE Automation.
This section also describes how a script vendor can write a script engine
that plugs into the Microsoft Internet Explorer and other OLE
Scripting-enabled applications.
- Authenticode--
read this section for specifications of new system services for automatic download, trust verification, and installation of code from the Internet.
- Internet Data Download Services--read
this section to learn about Microsoft system services for
downloading data from the Internet.
- Security Services--read this section
for information about the Private Communication Technology (PCT) protocol.
- Additional Support Information--read this section for additional information about support issues.
1. Make sure your control can download data from HTTP or FTP locations.
If your control needs to load data, pick one of three
alternatives for loading this data from Internet locations. For
full detail, see the COM Objects on the Internet specification.
- Support the IPersistStream interface. When your control
is inserted using the syntax <OBJECT DATA="foo.ods">,
the Internet Explorer will download this data and pass it to your
control's IPersistStream interface.
- Support the IPersistPropertyBag interface. One or more
of the parameters in this property bag will be the URL for data
that you will have to load. Be sure to use the IBindHost
interface when loading this data. Use IBindHost::CreateMoniker
to create a URL moniker
from the URL, and use IBindHost::MonikerBindToStorage to
download from this moniker. This will ensure that your download
status is displayed in the progress bar (although this is not
implemented by IE3.0). Note: As an easy alternative, you
can use the URLOpenStream
APIs, which will automatically hook you into the IBindHost
architecture correctly.
- Use a framework for building your control. One such framework can be
found in the ActiveX SDK under
samples\basectl.
Microsoft Foundation Class Library (MFC) 4.2 will also support Internet download for controls.
2. Mark it as safe for scripting or for persistence, if appropriate.
Look at the specification on Scripting Security Hazards
to see how to decide if an object is safe for scripting and safe
for persisting, and if so how to mark is as a safe object. If
you do not do this, you will get warning messages every time your
control is used on an HTML page.
3. Sign the code.
Be sure your final code is signed so that when your control
is automatically code-downloaded, no trust warning messages are
displayed. Note: If you are using a .cab file for component
download, it is faster to sign the entire .cab file than each
individual component. For details on how to sign code, check the Code Signing Toolkit
in the ActiveX SDK. For more information on the Microsoft code-signing
initiative, you can check http://www.microsoft.com/intdev/signcode.
4. Package your control for code download.
See the Internet Component Download
specification. You can find simple examples in the Microsoft ActiveX
Gallery. More samples will be added to the ActiveX SDK in the future.
Back to table of contents
Back to table of contents
- OLE Document Objects (DocObjs)
--specification of interfaces for creating or hosting OLE Document
Objects that can be viewed in arbitrary frames (for example, Web browsers).
- Simple Hyperlink Navigation--a subset
of the OLE hyperlinking specification that allows new or existing
documents and applications to support simple hyperlink navigation.
This specification describes a system API that is supported today and
that will eventually interoperate with the more complete
OLE Hyperlinking architecture.
Back to table of contents
Microsoft Internet Explorer will support scripting and automation
of its various components using "pluggable" scripting
engines.
- Microsoft Visual Basic Scripting Edition --a working
description of the lightweight subset of Visual Basic that will
add scripting capabilities to Web pages viewed by
Microsoft Internet Explorer. VBScript interacts with
Microsoft Internet Explorer via OLE Scripting interfaces.
For more information, you can also check out the
VBScript site on www.microsoft.com.
Back to table of contents
Identification and authenticity of code is an important issue on the Internet. This section describes Authenticode technology, which provides a trust verification infrastructure and new system services to help address the code security problem. These new services allow developers to digitally sign their code so that users may verify whether code downloaded from the Internet has originated from a trusted source.
- http://www.microsoft.com/intdev/signcode is a great location to use to get up to speed with Authenticode issues. It lists the documents below, FAQs, press releases, announcements, and so on.
- http://www.microsoft.com/intdev/signcode/certs is where you should go to get more information about obtaining a certificate from a certification authority. You will need a certificate to sign your code.
- Windows Trust Verification Services describes system services that provide a common API for determining if a specific subject can be trusted, based on policies defined by a trust administrator. These general-purpose APIs can be used in many situations, including verification of the safety and security of code downloaded from the Internet.
Back to table of contents
The Microsoft ActiveX architecture provides both high-level and low-level
interfaces for downloading data from the Internet.
- URLOpenStream Functions--a
set of functions that are the easiest, most efficient, and most powerful
way to download data from the Internet. These function provide all the
functionality of the URL Moniker and Win32 Internet API described below,
but they wrap this functionality in simpler interfaces that are easy to use.
- URL Moniker--a specification
of a new asynchronous moniker that encapsulates locating and
downloading of data or objects from URLs.
- Asynchronous Moniker
--a specification of a new class of monikers that allow downloading
or binding to objects asynchronously, without blocking.
Back to table of contents
- Private Communication Technology (PCT)--a
protocol layered over a reliable network transport protocol (e.g. TCP) that is designed
to provide privacy between two communication applications (client and server),
and to authenticiate the server and (optionally) the client.
Back to table of contents
- AnswerPoint Information Services provides you with easy access to the latest technical and support information for Microsoft products. You can access a variety of low and no cost Information Services 24 hours a day, 365 days a year. Many of the AnswerPoint Information Services make reference to the following technical content:
- Microsoft Frequently Asked Questions (FAQ): Here you will find quick answers to the most common technical issues on using your favorite Microsoft product.
- Microsoft Software Library: The Microsoft Software Library contains hundreds of free software add-ons, bug fixes, peripheral drivers, software updates, and programming aids for easy downloading at your convenience.
- Microsoft Knowledge Base: The Microsoft Knowledge Base is the same database that Microsoft support engineers use to answer technical questions. It is a comprehensive collection of more than 70,000 detailed articles with technical information about Microsoft products, bug and fix lists, and answers to commonly asked technical questions.
- Internet services (World Wide Web and FTP sites): Customers access the Microsoft FAQ, Microsoft Software Library, and Microsoft Knowledge Base more than 850,000 times each week on our Internet sites. Additional information, such as resource kits, white papers, and the latest information about Microsoft products is also readily available. It's easy to search through these technical sources to find what you need. If you're an Internet user, you can access this no-charge information (connect charges may apply) at the following locations:
- The Microsoft Network (MSN) and other online services: You can access the 70,000-plus Microsoft Knowledge Base articles and the Microsoft Software Library files through MSN and other online services. Additional technical information and community services, such as the Microsoft Frequently Asked Questions, Member-to-Member Bulletin Board Services and links to the World Wide Web, are available on MSN. To access Microsoft support services on MSN, choose Go To Other Location from the Edit menu and type MSSUPPORT.
- Microsoft TechNet: Microsoft TechNet is the front-line resource for fast complete answers to technical questions on Microsoft desktop and systems products. From crucial data on client-server and workgroup computing, systems platforms, and database products, to the latest on support for Microsoft Windows and Macintosh(r)-based applications, it's all on Microsoft TechNet. Microsoft TechNet is $299 annually for a single user license, or $699 annually for a single-server, unlimited-users license. To subscribe to Microsoft TechNet, call (800) 344-2121.
- Microsoft Developer Network Library (MSDN): The Microsoft Developer Network Library is the comprehensive source of programming information and toolkits for those who write applications for the Microsoft Windows, Windows 95, and Windows NT operating systems, or use Microsoft products for development purposes. Members with an MSDN annual subscription are kept up-to-date through regular deliveries of information, a newsletter, and other information sources. To subscribe to the Microsoft Developer Network, call (800) 759-5474.
- Microsoft Download Service (MSDL): The Microsoft Download Service contains sample programs, device drivers, patches, software updates, and programming aids. Direct modem access to MSDL is available by dialing (206) 936-6735. The service is available 24 hours a day, 365 days a year. Connect information: 1200, 2400, 9600, or 14400 baud, no parity, 8 data bits, and 1 stop bit.
- Microsoft FastTips: This automated service provides quick answers to your common technical questions via an automated toll-free telephone number, fax, or mail. To access FastTips or to receive a map and catalog, call the FastTips number listed for your product of interest:
- Desktop applications(800) 936-4100
- Personal Systems products(800) 936-4200
- Development tools(800) 936-4300
- Business Systems(800) 936-4400
- Per-Incident Electronic Service Requests: This service is available to Premier, Priority Comprehensive 35 and 75, and Priority Developer 35 customers. You can directly submit electronic service requests to Microsoft support engineers who receive the requests and work with you to resolve your technical problem. This capability also allows you to access Microsoft information databases so you can use the information to maintain and troubleshoot your Microsoft products independently.
Back to table of contents