Our recent release of Add-in Express for Internet Explorer has sneaked in without you even noticing. But just like autumn it was inevitable. With all the updates and changes in our market, we want our software to keep up. I will shed some light on the new features we added to the update so that you don’t miss out on the opportunities it brings.
Visual Studio 2012 release is fully supported
As you know, version 8.0 of add-in Express for Internet Explorer added support for Visual Studio 2012 Release Candidate. Now in version 8.1 you get the complete support for the VS 2012 release.
Windows Installer XML (WiX)
As you know, unlike the previous versions, Visual Studio 2012 doesn't provide you with the ability to create a deployment project. We decided to correct a wrong by adding Windows Installer XML projects to Add-in Express solutions. The WiX setup projects provide basic UI and allow you to deploy your IE add-ons via ClickTwice.
Selective version neutrality
When creating a new Add-in Express project, now you can select the minimum version of Internet Explorer you want to support. This feature lets you use IntelliSense for version-specific properties and methods of Internet Explorer and MSHTML library.
Support for HTTP negotiations – IHTTPNegotiation
Now Add-in Express implements the IHTTPNegotiation, IHTTPNegotiation2 and IHTTPNegotiation3 interfaces. It means that you can easily process requests and responses sent by Internet Explorer, and customize HTTP headers. There are four HTTP negotiation specific events: OnRequest, OnResponse, OnGetRootSecurityId, and OnGetSerializedClientCertContext.
Automatic authentication for Internet Explorer – IAuthenticate
The latest Add-in Express version implements the IAuthenticate and IAuthenticateEx interfaces to give you the ability to authenticate a user when Internet Explorer accesses secure resources. You can get rid of the Internet Explorer authentication dialog and automatically pass the login and password through your code. See the 'OnAuthenticate' event of the add-on module that also provides information about the type of the authentication request.
Protocol handlers and chain of IE BHO – IInternetProtocol and IInternetProtocolSink
This feature is based on the PassThroughAPP application discussed in IE newsgroups and in our forums. We managed to cover the same functionality without the issue when several IE extensions (BHO) implement their own Asynchronous Pluggable Protocol (APP) handlers. Add-in Express creates a chain of IE extensions (BHO) and passes the requests to the default protocol handler after reading and/or manipulating the data. It allows developers to change the data before it is rendered by Internet Explorer. Three events come with this feature: OnDataAvailable, OnReportProgress, and OnReportResult.
Intercepting IE commands – IOleCommandTarget
With this feature you can intercept such Internet Explorer UI commands as Save As, Print, Properties, Certificate dialogs, etc. You also use it to determine whether or not the user refreshes the web page by pressing F5 or using the Refresh menu command. See two new events: OnBeforeExecute and OnBeforeRefresh.
Handling IE keyboard shortcuts – IDocHostUIHandler
Now Add-in Express implements the IDocHostUIHandler interface and delivers five new events – OnFrameWindowActivate, OnPreviewKeyDown, OnResizeBorder, OnShowContextMenu, and OnUpdateUI. For example, with the OnPreviewKeyDown event you can trap keyboard shortcuts globally, in all IE tab windows including the IEFrame window. The second example is completely overriding the built-in context menu behavior of a specific HTML element (OnShowContextMenu).
Handling Internet cache
We extended the ADXIEHelper class with some useful functions to manipulate the cache data: CreateCacheEntry, DeleteCacheEntry, FindCacheEntry, and FindCacheEntries.