ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded over the Internet. It was introduced in 1996. In principle, ActiveX is not dependent on Windows operating systems; in practice, however, most ActiveX controls only run on Windows. Most also require the client to be running on an x86-based computer because ActiveX controls contain compiled code.
ActiveX is still supported in the "Internet Explorer mode" of Microsoft Edge (which has a different, incompatible extension system, as it is based on Google's Chromium project).
ActiveX controls
ActiveX was one of the major technologies used in component-based software engineering. Compared with JavaBeans, ActiveX supported more programming languages, but JavaBeans supported more platforms. ActiveX is supported in many rapid application development technologies, such as Active Template Library, Delphi, JavaBeans, Microsoft Foundation Class Library, Qt, Visual Basic, Windows Forms, and wxWidgets, to enable application developers to embed ActiveX controls into their products.
Many Windows applications—including many of those from Microsoft itself, such as Internet Explorer, Microsoft Office, 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.
Common examples of ActiveX controls include command buttons, list boxes, dialog boxes, and the Internet Explorer browser.
History
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC, Microsoft rationalized the specifications to make them simpler, and re-branded 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 only ran on Windows) and security risks (especially given the lack of user intervention). Microsoft subsequently introduced security measures to make browsing, including ActiveX, safer. For example:
- 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
ActiveX in non-IE applications
It may not always be possible to use Internet Explorer to execute ActiveX content (e.g. on a WINE installation), nor may a user want to.
- FF ActiveX Host can run ActiveX controls in Mozilla Firefox for Windows.
- Mozilla ActiveX Control was last updated in late 2005, and runs in Firefox 1.5.
Other ActiveX technologies
Microsoft has developed a large number of products and software platforms using ActiveX objects. Some remain in use as of 2009:
- Active Scripting, a technology for scripting ActiveX objects
- Active Server Pages
- ActiveMovie, later renamed DirectShow
- ActiveX Data Objects (ADO)
- ActiveX Streaming Format (ASF), renamed Advanced Streaming Format, then to Advanced Systems Format
- Active Messaging, later renamed Collaboration Data Objects
See also
- Active Setup
- Active Template Library (ATL)
- Browser Helper Object (BHO)
- Microsoft Silverlight
- OLE Automation
- Windows DNA
- XAML Browser Applications (XBAP)
External links
- MS06-013: Cumulative security update for Internet Explorer at Microsoft Support
- ActiveX at Wikipedia
|
Wikipedia (article: ActiveX)
|