Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ActiveX
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software framework by Microsoft introduced in 1996}} {{Use dmy dates|date=September 2021}} {{Infobox software | logo = File:ActiveX logo.png | title = ActiveX | developer = [[Microsoft]] | author = [[Microsoft]] | logo_size = 120px | released = {{Start date and age|1996}} | discontinued = Yes | latest release version = 2013 | programming language = [[C (programming language)|C]], [[C++]] | engine = | operating system = [[Microsoft Windows]], [[Solaris (operating system)|Solaris]], [[Classic Mac OS]], [[macOS]] | platform = [[x86]] | included with = [[Internet Explorer]], [[Microsoft Office]], [[Microsoft Visual Studio]], and [[Windows Media Player]] etc. | replaces = [[Object Linking and Embedding|OLE 2.0]] and [[Component Object Model|COM]] | genre = [[Software framework]] }} '''ActiveX''' is a [[deprecation|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 from the [[World Wide Web]].<ref name="msdn1">{{cite web|title=ActiveX Controls on the Internet|website=Microsoft Docs|date=12 September 2018|url=https://docs.microsoft.com/en-us/cpp/mfc/activex-controls-on-the-internet?view=msvc-160|access-date=2021-08-19}}</ref> 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.<ref>{{cite book|last=Anderson|first=Jerry|title=Activex Programming with Visual C++|year=1997|publisher=Que|isbn=978-0-7897-1030-7}}</ref> 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 (web browser)|Chromium]] project).<ref>{{Cite web|url=https://docs.microsoft.com/en-us/microsoft-edge/deploy/microsoft-edge-faq|title = Microsoft Edge - Frequently Asked Questions (FAQ) for IT Pros - Edge}}</ref> ==ActiveX controls== ActiveX was one of the major technologies used in [[component-based software engineering]].<ref>Cai, Xia, et al. "Component-based software engineering: technologies, development frameworks, and quality assurance schemes." Software Engineering Conference, 2000. APSEC 2000. Proceedings. Seventh Asia-Pacific. IEEE, 2000.</ref> Compared with [[JavaBeans]], ActiveX supports more [[programming language]]s, but JavaBeans supports more platforms.<ref>{{cite web|last=Hughes|first=Merlin|title=JavaBeans and ActiveX go head to head|work=JavaWorld|publisher=[[IDG]]|url=http://www.javaworld.com/article/2077620/client-side-java/javabeans-and-activex-go-head-to-head.html|date=1 March 1997|url-status=live|archive-url=https://web.archive.org/web/20160315144821/http://www.javaworld.com/article/2077620/client-side-java/javabeans-and-activex-go-head-to-head.html|archive-date=15 March 2016|df=dmy-all}}</ref> ActiveX is supported in many rapid application development technologies, such as [[Active Template Library]], [[Delphi (software)|Delphi]], JavaBeans, [[Microsoft Foundation Class Library]], [[Qt (software)|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]], [[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 page]]s. ==History== Faced with the complexity of [[Object Linking and Embedding|OLE 2.0]] and with poor support for COM in [[Microsoft Foundation Classes|MFC]], Microsoft simplified the specification and rebranded the technology as ActiveX in 1996.<ref>{{cite web|url=http://zone.ni.com/devzone/cda/tut/p/id/4496 |title=Using ActiveX with LabVIEW – Examining Mission Editor Version 1.0 |access-date=12 March 2009 |date=13 August 2007 |work=NI Developer Zone |publisher=National Instruments |quote=The term ActiveX surfaced in the Microsoft world in early 1996. |url-status=dead |archive-url=https://web.archive.org/web/20080228174217/http://zone.ni.com/devzone/cda/tut/p/id/4496 |archive-date=28 February 2008 }}</ref><ref>{{cite web|url=https://news.microsoft.com/1996/03/12/microsoft-announces-activex-technologies/|title=Microsoft announces ActiveX Technologies|access-date=11 February 2017|date=12 March 1996|work=News Center|publisher=[[Microsoft]]|quote=Microsoft Corp. 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 today.|url-status=live|archive-url=https://web.archive.org/web/20170212101109/https://news.microsoft.com/1996/03/12/microsoft-announces-activex-technologies/|archive-date=12 February 2017|df=dmy-all}}</ref> Even after simplification, users still required controls to implement about six core interfaces. In response to this complexity, Microsoft produced [[wizard (software)|wizards]], [[Active Template Library|ATL]] base classes, [[Macro (computer science)|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 <code>OBJECT</code> [[HTML tag|tag]] (the <code>OBJECT</code> [[HTML tag|tag]] was added to the [[HTML|HTML 3.2]] specification by [[Charlie Kindel]], the Microsoft representative to the [[World Wide Web Consortium|W3C]] at the time<ref>{{Cite web|url=https://www.w3.org/People/Raggett/book4/ch02.html|title=Chapter 2|website=www.w3.org|access-date=2019-08-29}}</ref>) 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.<ref>{{cite web |title=Activating ActiveX Controls |url=http://capitalhead.com/articles/activating-activex-controls.aspx |date=18 April 2006 |access-date=16 June 2009 |url-status=live |archive-url=http://archive.wikiwix.com/cache/20060419000000/http://capitalhead.com/articles/activating-activex-controls.aspx |archive-date=19 April 2006 |df=dmy-all }}</ref> For example: * [[digital signing]] of installation packages ([[Cabinet (file format)|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]]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]]s.<ref>{{cite news |title=ActiveX technology: You can't go there today |newspaper=[[InfoWorld]] |pages=90 ff |url=https://books.google.com/books?id=zDsEAAAAMBAJ&pg=PA90|year=1997}}</ref> The ActiveX security model relied almost entirely on identifying trusted component developers using a [[code signing]] technology called [[Code signing|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 (software)|bug]] in the code was a potential security issue; this contrasts with the [[Sandbox (computer security)|sandboxing]] already used in Java at the time.<ref>{{cite news |title=Exposing the ActiveX security model |first=Sean |last=Dugan |newspaper=[[InfoWorld]] |date=19 May 1997 |page=98 |url=https://books.google.com/books?id=zDsEAAAAMBAJ&pg=PA98}}</ref> ==Platform support== In October 1996, Microsoft released a beta version of the ActiveX [[Software Development Kit]] (SDK) for the [[Macintosh operating systems|Macintosh]], including a plug-in for [[Netscape Navigator]] on the Mac, and announced its plan to support ActiveX on [[Solaris (operating system)|Solaris]] later that year.<ref>{{cite news |title=MacOS will get access to ActiveX |first=Tom |last=Quinlan |newspaper=[[InfoWorld]] |date=28 October 1996 |page=48 |url=https://books.google.com/books?id=NToEAAAAMBAJ&pg=PA48}}</ref> Six months and two more beta releases later, there had yet to be any commercially available Macintosh ActiveX plugins.<ref>{{cite magazine |url = http://www.macweek.com/mw_1115/nw_activex.html |title = After 6 months, ActiveX passive in Mac market |date = 11 April 1997 |volume = 11 |issue = 15 |magazine = MacWEEK |first1=Joanna |last1=Pearlstein |url-status = dead |archive-url = https://web.archive.org/web/19970412151433/http://www.macweek.com/mw_1115/nw_activex.html |archive-date = 12 April 1997 |df = dmy-all }}</ref> In 1997, NCompass Labs in cooperation with Microsoft released a plug-in for [[Netscape Navigator]] to support ActiveX.<ref name=":0">{{Cite book|url=https://archive.org/details/bub_gb_jDOuO-4ECOUC|quote=ncompass activex plugin.|title=Computerworld|date=1997-04-07|publisher=IDG Enterprise|language=en|chapter=Playing with plug-ins}}</ref> Documentation for ActiveX core technology resides at The Open Group and may be read for free.<ref>{{cite web|title=Documentation for ActiveX Core Technology|url=https://pubs.opengroup.org/onlinepubs/9875999899/toc.htm|publisher=The Open Group|access-date=1 May 2020|url-status=live|archive-url=https://web.archive.org/web/20200430223442/https://pubs.opengroup.org/onlinepubs/9875999899/toc.htm|archive-date=30 April 2020|df=dmy-all}}</ref> 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]], 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.<ref>{{cite web|url=http://english.yonhapnews.co.kr/news/2015/03/03/0200000000AEN20150303003300315.html|title=Seoul poised to remove ActiveX software from public websites|date=3 March 2015|publisher=Yohap News Agency|url-status=live|archive-url=https://web.archive.org/web/20150322231129/http://english.yonhapnews.co.kr/news/2015/03/03/0200000000AEN20150303003300315.html|archive-date=22 March 2015|df=dmy-all}}</ref> While Microsoft made significant efforts to push the cross-platform aspect of ActiveX by way of publishing the API, ultimately the [[Cross-platform software|cross-platform]] effort failed due to the ActiveX controls being written in [[C (programming language)|C]] or [[C++]] and being compiled in [[X86|Intel x86]] [[Assembly language]], making them executable only on Windows machines where they can call the standard [[Windows API|Win32]] APIs.<ref>{{Cite magazine|url=https://www.wired.com/1996/11/will-activex-threaten-national-security/|title=Will ActiveX Threaten National Security?|magazine=WIRED|access-date=2018-10-15|language=en-US}}</ref> Microsoft dropped ActiveX support from the [[Windows Store]] edition of Internet Explorer 10 in [[Windows 8]]. In 2015, Microsoft released [[Microsoft Edge Legacy|Microsoft Edge [Legacy]]], the replacement for Internet Explorer, with no support for ActiveX; this event marked the end of ActiveX technology in Microsoft's web browser development.<ref>{{cite web|url=http://www.computerworld.com/article/2920892/web-browsers/microsoft-nixes-activex-add-on-technology-in-new-edge-browser.html|title=Microsoft nixes ActiveX add-on technology in new Edge browser|first=Gregg|last=Keizer|date=10 May 2015|work=[[Computerworld]]|publisher=[[IDG]]|url-status=live|archive-url=https://web.archive.org/web/20150514023235/http://www.computerworld.com/article/2920892/web-browsers/microsoft-nixes-activex-add-on-technology-in-new-edge-browser.html|archive-date=14 May 2015|df=dmy-all}}</ref> [[Microsoft Edge|Microsoft [New] Edge]], 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.<ref>{{cite web|url=http://www.adamlock.com/mozilla/|title=Mozilla Control|date=29 April 2011|archive-url=https://web.archive.org/web/20110429033120/http://www.adamlock.com/mozilla/|archive-date=29 April 2011}}</ref> *ScriptActive for [[Netscape Navigator]] last updated in 1997 can run ActiveX controls but requires a special HTML tag.<ref name=":0" /> *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.<ref>{{Cite web |title=How To Enable ActiveX on Chrome |url=https://www.alphr.com/enable-activex-chrome/ |access-date=2022-08-07 |website=Alphr |language=en-US}}</ref> ==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. * [[Collaboration Data Objects|Active Messaging]], later renamed [[Collaboration Data Objects]] * [[Active Server Pages]] (ASP) * [[ActiveMovie]], later renamed [[DirectShow]] * [[ActiveX Data Objects]] (ADO) * [[Advanced Systems Format|ActiveX Streaming Format]] (ASF), renamed Advanced Streaming Format, then to Advanced Systems Format ==See also== {{columns-list|colwidth=30em| * [[Active Setup]] * [[Active Template Library]] (ATL) * [[Adobe Flex]] * [[Browser Helper Object]] (BHO) * [[Google Native Client]] – an alternative development from Google * [[IUnknown]] interface * [[JavaBeans]] * [[Netscape Plugin Application Programming Interface]] (NPAPI) – an alternative interface for web-browser plugins * [[OLE Automation]] * [[Microsoft Silverlight|Silverlight]] ([[XAP (file format)|XAP]]) * [[Windows DNA]] * [[XAML Browser Applications]] (XBAP) }} ==References== {{reflist}} ==External links== {{Commons category}} * [https://support.microsoft.com/kb/912812 Activating ActiveX Controls] {{Microsoft APIs}} {{Microsoft Windows components}} {{Internet Explorer}} {{Web interfaces}} {{Authority control}} [[Category:Microsoft application programming interfaces]] [[Category:Internet Explorer]] [[Category:Software add-ons]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Columns-list
(
edit
)
Template:Commons category
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Internet Explorer
(
edit
)
Template:Main other
(
edit
)
Template:Microsoft APIs
(
edit
)
Template:Microsoft Windows components
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Template other
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Web interfaces
(
edit
)