Add-in Express for Internet Explorer, version 9 Beta is published
This blog is about the steps required to switch to using .NET 3.5 or any other .NET Framework in your .NET 2.0 IE add-on.
The new version of Add-in Express for IE and .NET includes the following breaking changes:
- VS 2005 isn’t supported
- .NET Framework 2.0 and 3.0 are not supported (supported are .NET 3.5 and higher)
How to switch your existing project to a different .NET Framework version
Select your IE add-on project in Solution Explorer, choose the item {add-on name} Properties on the Project menu. Alternatively, right-click the project item in Solution Explorer and choose Properties on the context menu.
For a C# add-on project, see the tab Application:
For a VB.NET add-on project, you need to click the Advanced Compile Option button first:
Choosing a new .NET Framework version produces this dialog:
Click Yes to close and reopen the project.
Modifying the setup project
Select the setup project and choose View | Editor | Launch Conditions on the main menu. Select the .NET Framework launch condition and do the following two things in the Properties window:
- Choose the correct value for the Version property.
- Specify the download page’s URL for that .NET Framework version in the InstallUrl property. Use a search engine such as Google or Bing to find the correct URL.
Finally, select your setup project, choose Project | Properties on the main menu and click the Prerequisites button on the Property Pages dialog:
And specify the required .NET Framework version.
You are done, congratulations!
6 Comments
Andrei,
I’m probably missing something in the object-model:
The documentation lists that the following modules (ADXIEModule, ADXIEToolbarModule, and ADXIEBarModule) have methods for communicating to the Broker (SendDataToBroker).
I’ve created the Broker App. I’ve set the BrokerGuid in my Add-on to the Guid of the Broker App. My Add-in is using the Advanced Bar. I need to save information entered in this bar into the registry or similar data-store. I can’t see how to get from the save button click event, somehow calling or sending a message to matching-instance of the IEModule running, so it can then finally send the “save” message and data to the Broker application.
Any assistance in this area would be greatly appreciated.
Thank you.
Bob
UPDATE:
I believe that I just found the answer to my previous post.
Please correct me if I’m wrong, but it looks like the AdvancedBar has a .Module property that directly exposes the SendDataToBroker.
Thank you.
Bob.
Andrei,
I’ve got a very basic test add-in working, using the Broker, on my DEV system (Windows 7 64-bit, IE 11). I used WiX 3.8 to create a setup project, and build a distribution to put it on a test system (before I invested more time, I wanted to make sure I could distribute the add-on).
Other than a try-catch, I made no changes to the Broker’s startup program:
[MTAThread]
static void Main(string[] args)
{
try {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ADXIEBrokerModule.Initialize(typeof(IEBrokerModule), args);
}
catch (Exception ex) {
SigBOP.Utils.ErrorWriteToLog(ex);
}
}
In the IEBrokerModule itself, other than additional try-catches, there’s nothing mystical that I’m doing:
public IEBrokerModule() {
try {
InitializeComponent();
}
catch (Exception ex) {
SigBOP.Utils.ErrorWriteToLog(ex);
}
}
private void IEBrokerModule_OnDataReceived(object sender, AddinExpress.IE.Broker.ADXIEBrokerDataReceivedEventArgs e)
{
// System.Diagnostics.Debug.Print(“IEBrokerModule_OnDataReceived”);
try {
var request = e.RequestData as Hashtable;
var response = new Hashtable();
if ( request[“operation”].ToString() == “writevalue” ) {
var fs = System.IO.File.CreateText(“c:\\test\\ie\\ietest.txt”);
fs.WriteLine(“Wrote to local storage!”);
fs.Flush();
fs.Close();
response.Add(“result”,”ok”);
e.ResponseData = response;
}
}
catch (Exception ex) {
SigBOP.Utils.ErrorWriteToLog(ex);
}
}
private void IEBrokerModule_OnError(object sender, AddinExpress.IE.Broker.ADXIEBrokerErrorEventArgs e) {
// System.Diagnostics.Debug.Print(“IEBrokerModule_OnError”);
}
private void IEBrokerModule_OnFinalize(object sender, EventArgs e) {
// System.Diagnostics.Debug.Print(“IEBrokerModule_OnFinalize”);
}
private void IEBrokerModule_OnInitialize(object sender, AddinExpress.IE.Broker.ADXIEBrokerInitializeEventArgs e) {
// System.Diagnostics.Debug.Print(“IEBrokerModule_OnInitialize”);
}
Here’s the problem: Testing on an identical Windows 7, 64-bit machine with IE11 installed, I get the below errors:
ADD-IN/DLL gets an Error Pop-up in Internet Explorer that says:
‘SigBOP’ has fired an exception. Click the ‘Details’ button to see the detailed information about the error.
When I click details, I get this >>
Detailed technical information follows:
—
Date and Time: 4/11/2014 5:06:02 PM
Machine Name: SB-FRODO
IP Address: fe80::6139:86fe:90d:cd88%10
Current User: SIGBOP\bapostolico
Application Domain: C:\Program Files (x86)\SigBOP\
Assembly Codebase: file:///C:/Program Files (x86)/SigBOP/AddinExpress.IE.DLL
Assembly Full Name: AddinExpress.IE, Version=9.0.6121.0, Culture=neutral, PublicKeyToken=4416dd98f0861965
Assembly Version: 9.0.6121.0
Exception Source:
Exception Type: AddinExpress.IE.ADXIEBrokerApplicationException
Exception Message: Unable to open broker pipe.
Exception Target Site: Object reference not set to an instance of an object.
—- Stack Trace —-
***********************
Additionally, in the background, sbBroker app comes up with a Windows App Crash error:
Problem signature:
Problem Event Name: APPCRASH
Application Name: sbBroker.exe
Application Version: 1.0.0.0
Application Timestamp: 53483aec
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.18229
Fault Module Timestamp: 51fb1677
Exception Code: e0434352
Exception Offset: 000000000000940d
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 1033
Additional Information 1: 2413
Additional Information 2: 2413de213f38e5efe700010a55469627
Additional Information 3: bac5
Additional Information 4: bac5ff64771af3c4a65ada835e80e994
Read our privacy statement online:
https://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
NONE of my try-catches are ever hit, because IF they were, they would log the exception to disk. So something else is dying, but I’m not sure where to look.
I’ve tried turning UAC completely OFF (and rebooted) on the TEST system, but it doesn’t help.
I’ve Googled AddinExpress.IE.ADXIEBrokerApplicationException Unable to open broker pipe and can’t find any solution.
How do I go about resolving this issue?
PLEASE point me in the correct direction.
If I can show my supervisors that we can get this working and distributed, we will be purchasing Pro version.
Thank you.
Bob
Hi Bob,
Did you add the broker application to the setup project? Please ask your questions on our forum: https://www.add-in-express.com/forum/list.php?FID=10
I’m working with a trial subscription.
I’ll gladly post to the forum,
but I need someone to enable my account to be able to do so.
Thank you.
Bob.
Bob,
Sorry for referring you to the forum; we didn’t think you might not have a valid subscription key to register. Please send us an answer to Sergey’s question by email. You can find the support email address in {Add-in Express installation folder}\readme.txt.