ActiveX

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
ActiveX
ActiveX logo.png
Original author(s) Microsoft
Developer(s) Microsoft
Initial release 1996; 28 years ago (1996)
Website microsoft.com/com/tech/activex.asp

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 from a network, particularly in the context of the World Wide Web.[1] 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.[2]

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 platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness.

Countries like South Korea have started to remove this technology from their public websites.[3]

In 2015, Microsoft Edge, the replacement for Internet Explorer, dropped ActiveX support, marking the end of the technology.[4]

History

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.[5][6] 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, in practice, ran only on Windows, and separate controls were required for each supported platform: one for Windows 3.1/Windows NT 3.51, one for Windows NT/95, and one for Macintosh F68K/PowerPC.) and security risks (especially given the lack of user intervention). Microsoft subsequently introduced security measures to make browsing including ActiveX safer.[7]

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

In October 1996, Microsoft released a beta version of the ActiveX Software Development Kit (SDK) for the Macintosh, including a plug-in for Netscape Navigator on the Mac, and announced its plan to support ActiveX on Solaris later that year.[8]

Shortly thereafter, Microsoft made ActiveX open source.[disputed ] Documentation for ActiveX core technology resides at The Open Group and may be downloaded for free.[9]

ActiveX was controversial from the start; while Microsoft claimed programming ease and good performance compared to Java applets in its marketing materials, critics of ActiveX were quick to point out security issues and lack of portability, making it impractical for use outside protected intranets.[10] The ActiveX security model relied almost entirely on identifying trusted component developers using a code signing technology called Authenticode. Developers had to register with Verisign (US$20 per year for individuals, $400 for corporations) and sign a contract, promising not to develop malware. Identified code would then run inside the web browser with full permissions, meaning that any bug in the code was a potential security issue; this contrasts with the sandboxing already used in Java at the time.[11]

In 2015, Microsoft announced that their new web browser and Internet Explorer replacement, Microsoft Edge, will not support ActiveX, which they described as a "legacy technology".

ActiveX in non-Internet Explorer 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.

Other ActiveX technologies

Microsoft has developed a large number of products and software platforms using ActiveX objects. They are still used (e.g., websites still use ASP.):

See also

Notes

  1. Introduction to ActiveX Controls at microsoft.com, accessed 18 January 2008
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Seoul poised to remove ActiveX software from public websites. 3 March 2015.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.

External links