ActiveX is a
deprecated software framework created by
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
that adapts its earlier
Component Object Model (COM) and
Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
.
Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
operating systems, but in practice, 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
Microsoft Edge is a Proprietary Software, proprietary cross-platform software, cross-platform web browser created by Microsoft and based on the Chromium (web browser), Chromium open-source project, superseding Edge Legacy. In Windows 11, Edge ...
(which has a different, incompatible extension system, as it is based on
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's
Chromium project).
ActiveX controls
ActiveX was one of the major technologies used in
component-based software engineering
Component-based software engineering (CBSE), also called component-based development (CBD), is a style of software engineering that aims to construct a software system from software component, components that are loosely-Coupling (computer program ...
. Compared with
JavaBeans, ActiveX supports more
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, but JavaBeans supports more platforms. ActiveX is supported in many rapid application development technologies, such as
Active Template Library,
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
, JavaBeans,
Microsoft Foundation Class Library,
Qt,
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic (.NET), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (classic), the original Visual Basic suppo ...
,
Windows Forms and
wxWidgets, to enable application developers to embed ActiveX controls into their products.
Many Microsoft Windows applications—including many of those from Microsoft itself, such as
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated as IE or MSIE) is a deprecation, retired series of graphical user interface, graphical web browsers developed by Microsoft that were u ...
,
Microsoft Office,
Microsoft Visual Studio, and
Windows Media Player
Windows Media Player (WMP, officially referred to as Windows Media Player Legacy to retronym, distinguish it from Windows Media Player (2022), the new Windows Media Player introduced with Windows 11) is the first media player (application soft ...
—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 page
A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
s.
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. 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 (the
OBJECT
tag was added to the
HTML 3.2 specification by
Charlie Kindel, the Microsoft representative to the
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
at the time) 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 M68K/PowerPC.) 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 was controversial from the start; while Microsoft claimed programming ease and good performance compared to
Java applet
Java applets were applet, small applications written in the Java (programming language), Java programming language, or another programming language that Compiled language, compiles to Java bytecode, and delivered to users in the form of Ja ...
s 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
intranet
An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in ...
s. 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
Malware (a portmanteau of ''malicious software'')Tahir, R. (2018)A study on malware and malware detection techniques . ''International Journal of Education and Management Engineering'', ''8''(2), 20. is any software intentionally designed to caus ...
. 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.
Platform support
In October 1996, Microsoft released a beta version of the ActiveX
Software Development Kit (SDK) for the
Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
, including a plug-in for
Netscape Navigator on the Mac, and announced its plan to support ActiveX on
Solaris later that year. Six months and two more beta releases later, there had yet to be any commercially available Macintosh ActiveX plugins.
In 1997, NCompass Labs in cooperation with Microsoft released a plug-in for
Netscape Navigator to support ActiveX.
Documentation for ActiveX core technology resides at The Open Group and may be read for free.
Despite Microsoft's previous efforts to make ActiveX cross-platform, most ActiveX controls would not and will not work on all platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness. The government of
South Korea
South Korea, officially the Republic of Korea (ROK), is a country in East Asia. It constitutes the southern half of the Korea, Korean Peninsula and borders North Korea along the Korean Demilitarized Zone, with the Yellow Sea to the west and t ...
, in a software-agnostic gravitating move, started in circa 2015 to remove the technology from their public websites in order to make their website accessible to more platforms.
While Microsoft made significant efforts to push the cross-platform aspect of ActiveX by way of publishing the API, ultimately the
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
effort failed due to the ActiveX controls being written in
C or
C++ and being compiled in
Intel x86 Assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
, making them executable only on Windows machines where they can call the standard
Win32 APIs.
Microsoft dropped ActiveX support from the
Windows Store
The Microsoft Store (formerly known as the Windows Store) is a digital distribution platform operated by Microsoft. It was created as an app store for Windows 8 as the primary means of distributing Universal Windows Platform apps. With ...
edition of Internet Explorer 10 in
Windows 8
Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012, made available for download via Microsoft ...
. In 2015, Microsoft released
Microsoft Edge ">egacy the replacement for Internet Explorer, with no support for ActiveX; this event marked the end of ActiveX technology in Microsoft's web browser development.
Microsoft Edge">ewEdge, however, includes an "Internet Explorer mode" feature, which supports ActiveX.
ActiveX in non-Internet Explorer applications
* Mozilla ActiveX Control was last updated in late 2005, and runs in Firefox 1.5.
*ScriptActive for
Netscape Navigator last updated in 1997 can run ActiveX controls but requires a special HTML tag.
*Running ActiveX scripts in
Google Chrome
Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, iPadOS, an ...
is possible through the utilization of several extensions, including one which emulates an Internet Explorer tab within the Chrome application.
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 using ASP):
*
Active Scripting (formerly known as ActiveX Scripting) is the technology used in Windows to bridge scripting engines like
JScript,
VBScript or
ActivePerl and hosting applications like Internet Explorer,
Active Server Pages, or third-party applications that implement a scripting host.
*
ActiveX Document is a Microsoft technology that allows users to view and edit Microsoft Word, Excel, and PDF documents inside web browsers.
*
Active Messaging, later renamed
Collaboration Data Objects
*
Active Server Pages (ASP)
*
ActiveMovie, later renamed
DirectShow
*
ActiveX Data Objects (ADO)
*
ActiveX Streaming Format (ASF), renamed Advanced Streaming Format, then to Advanced Systems Format
See also
References
External links
Activating ActiveX Controls
{{Authority control
Microsoft application programming interfaces
Internet Explorer
Software add-ons