ActiveX is a software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly in the context of the World Wide Web. It was introduced in 1996 and is commonly used in its Windows operating system. In principle it is not dependent on Microsoft Windows, but in practice, most ActiveX controls require either Microsoft Windows or a Windows emulator. Most also require the client to be running on Intel x86 hardware, because they contain compiled code.
Many Microsoft Windows applications — including many of those from Microsoft itself, such as Internet Explorer, Microsoft Office, Microsoft Visual Studio, and Windows Media Player — use ActiveX controls to build their feature-set and also encapsulate their own functionality as ActiveX controls which can then be embedded into other applications. Internet Explorer also allows the embedding of ActiveX controls in web pages.
However, ActiveX will not work on all internet platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness.
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC, Microsoft simplified the specification and rebranded the technology as ActiveX in 1996. Even after simplification, users still required controls to implement about six core interfaces. In response to this complexity, Microsoft produced wizards, ATL base classes, macros and C++ language extensions to make it simpler to write controls.
Starting with Internet Explorer 3.0 (1996), Microsoft added support to host ActiveX controls within HTML content. If the browser encountered a page specifying an ActiveX control via an
OBJECT tag, it would automatically download and install the control with little or no user intervention. This made the web "richer" but provoked objections (since such controls ran only on Windows) and security risks (especially given the lack of user intervention). Microsoft subsequently introduced security measures to make browsing including ActiveX safer.
- digital signing of installation packages (Cabinet files and executables)
- controls must explicitly declare themselves safe for scripting
- increasingly stringent default security settings
- Internet Explorer maintains a blacklist of bad controls
On 17 October 1996, Microsoft announced availability of the beta release of the Microsoft® ActiveX Software Development Kit (SDK) for the Macintosh.
Shortly thereafter, Microsoft made ActiveX open source. Documentation for ActiveX core technology resides at The Open Group and may be downloaded for free.
Other ActiveX technologies
Microsoft has developed a large number of products and software platforms using ActiveX objects. Some remain in use as of 2009:
- ActiveX Data Objects (ADO)
- Active Server Pages (ASP)
- ActiveMovie, later renamed DirectShow
- Active Messaging, later renamed Collaboration Data Objects
- Active Scripting, a technology for scripting ActiveX objects
- ActiveX Streaming Format (ASF), renamed Advanced Streaming Format, then to Advanced Systems Format
- Active Setup
- Active Template Library (ATL)
- Google Native Client, an alternative development from Google
- IUnknown interface
- NPAPI, an alternative interface for web-browser plugins
- Windows DNA
- Java Beans
- Introduction to ActiveX Controls at microsoft.com, accessed 18 January 2008
- Anderson, Jerry (1997). Activex Programming with Visual C++. Que. ISBN 978-0789710307.
- "Using ActiveX with LabVIEW – Examining Mission Editor Version 1.0". NI Developer Zone. National Instruments. 13 August 2007. Retrieved 2009-03-12. "The term ActiveX surfaced in the Microsoft world in early 1996."
- "Microsoft Announces ActiveX Technologies: Microsoft Corp. announced ActiveX Technologies, which make it easy for the broadest range of software developers and Web designers to build dynamic content for the Internet and the PC.". Microsoft PressPass. Microsoft. 12 March 1996. Retrieved 2009-03-12. "San Francisco, March 12, 1996 - Microsoft Corporation. today announced ActiveX ... Technologies, which make it easy for the broadest range of software developers and Web designers to build dynamic content for the Internet and the PC. ... ActiveX Technologies form a robust framework for creating interactive content using software components, scripts and existing applications. Specifically, ActiveX Technologies enable developers to build Web content easily using ActiveX Controls (formerly OLE Controls), active scripts and active documents. ... ActiveX Technologies are available in the form of the Microsoft ActiveX Development Kit, which is being distributed to more than 4,000 developers attending the Professional Developers Conference in San Francisco todaynot true."
- "Activating ActiveX Controls". Activating ActiveX Controls. 0 January 1900. Retrieved 2009-06-16.
- "Microsoft Delivers ActiveX on the Macintosh". Microsoft. Retrieved 7 August 2012.
- "Documentation for ActiveX Core Technology". The Open Group. Retrieved 7 August 2012.