ActiveX is a
deprecated
In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing ...
software framework created by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
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), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
.
Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on
Microsoft Windows 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 as of Windows 10 through
Internet Explorer 11, while ActiveX is not supported in their default web browser
Microsoft Edge (which has a different, incompatible extension system, as it is based on
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's
Chromium
Chromium is a chemical element with the symbol Cr and atomic number 24. It is the first element in group 6. It is a steely-grey, lustrous, hard, and brittle transition metal.
Chromium metal is valued for its high corrosion resistance and h ...
project).
ActiveX controls
ActiveX was one of the major technologies used in
component-based software engineering. Compared with
JavaBeans, ActiveX supports more
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
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 (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracl ...
, JavaBeans,
Microsoft Foundation Class Library,
Qt,
Visual Basic,
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 IE or MSIE) is a series of graphical user interface, graphical web browsers developed by Microsoft which was used in the Microsoft Wind ...
,
Microsoft Office
Microsoft Office, or simply Office, is the former name of a family of client software, server software, and services developed by Microsoft. It was first announced by Bill Gates on August 1, 1988, at COMDEX in Las Vegas. Initially a ma ...
,
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.
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
ATL may refer to:
Places
* Atlanta, a city in the U.S. state of Georgia
** Hartsfield–Jackson Atlanta International Airport (IATA airport code)
** Peachtree station (Amtrak station code)
* Attleborough railway station, located in Norfolk, Engl ...
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
Charlie Kindel is an American tech executive and former chief product and technology officer at SnapAV. He formerly held roles with Control4, Amazon, and Microsoft. Much of his career has been spent focused on smart home products.
Early life and e ...
, the Microsoft representative to the
W3C 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 F68K/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
A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
of installation packages (
Cabinet
Cabinet or The Cabinet may refer to:
Furniture
* Cabinetry, a box-shaped piece of furniture with doors and/or drawers
* Display cabinet, a piece of furniture with one or more transparent glass sheets or transparent polycarbonate sheets
* Filing ...
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 small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a ...
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
intranets. 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 for ''malicious software'') is any software intentionally designed to cause disruption to a computer, server, client, or computer network, leak private information, gain unauthorized access to information or systems, de ...
. 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, 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 will not work on all platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness.
South Korea
South Korea, officially the Republic of Korea (ROK), is a country in East Asia, constituting the southern part of the Korea, Korean Peninsula and sharing a Korean Demilitarized Zone, land border with North Korea. Its western border is formed ...
has started to remove this technology from their public websites in order to make their web site accessible to more platforms.
While Microsoft made significant effort to push the cross-platform aspect of ActiveX by way of publishing the API, ultimately the
cross-platform
In 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 platforms. Some cross-platform software ...
effort failed due to the ActiveX controls being written in
C or
C++ and being compiled in
Intel x86 Assembly language, making them executable only on Windows machines where they can call the standard
Win32 APIs.
Microsoft dropped ActiveX support from the
Windows Store edition of Internet Explorer 10 in
Windows 8. In 2015, Microsoft released
Microsoft Edge, the replacement for Internet Explorer with no support for ActiveX, this event marked the end of ActiveX technology in Microsoft's web browser development.
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 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,
VB Script
VBScript (''"Microsoft Visual Basic (classic), Visual Basic Scripting Edition"'') is an Active Scripting language developed by Microsoft that is modeled on Visual Basic (classic), Visual Basic. It allows Microsoft Windows system administrators to ...
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
{{Web interfaces
Microsoft application programming interfaces
Internet Explorer
Software add-ons