Andrei Smolin

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:

How to set the target .NET Framework version in a C# project

For a VB.NET add-on project, you need to click the Advanced Compile Option button first:

How to set the target .NET Framework version in a VB.NET project, step #1

How to set the target .NET version in a VB.NET project, step #2

Choosing a new .NET Framework version produces this dialog:

A warning when setting the target .NET Framework version

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.

How to set the target .NET version in a setup project VS 2008-2010

Finally, select your setup project, choose Project | Properties on the main menu and click the Prerequisites button on the Property Pages dialog:

Specifying prerequisites for a setup project VS 2008-2010

And specify the required .NET Framework version.

Specifying .NET version in prerequisites of a setup project VS 2008-2010

You are done, congratulations!

6 Comments

  • Bob Apostolico says:

    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

  • Bob Apostolico says:

    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.

  • Bob Apostolico says:

    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

  • Sergey Grischenko (Add-in Express Team) says:

    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

  • Bob Apostolico says:

    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.

  • Andrei Smolin (Add-in Express Team) says:

    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.

Post a comment

Have any questions? Ask us right now!