Managed code used for IE browser helper

Add-in Express™ Support Service
That's what is more important than anything else

Managed code used for IE browser helper
Does Microsoft still discourage use of managed code for browser extensions? 
Louis Naber




Posts: 6
Joined: 2018-08-04
It's been a few years since I developed browser extensions and I've been asked to do that again.

In 2013 and 2014 articles were published that discouraged managed code for IE browser extensions. I understand that Add-in Express is implemented with C# managed code which leads to two questions.

1. Does Add-in Express execute out-of-process?
2. Has the Microsoft guidance changed?

Thanks

Reference:
Microsoft Guidance for Implementing In-Process Extensions
https://msdn.microsoft.com/en-us/library/windows/desktop/dd758089(v=vs.85).aspx

Other discussions for reference:
https://books.google.com/books?id=lXr0AgAAQBAJ&dq=managed+code+internet+explorer+helper&source=gbs_navlinks_s
https://blogs.msdn.microsoft.com/oldnewthing/20130222-01/?p=5163/
Posted 04 Aug, 2018 07:27:01 Top
Andrei Smolin


Add-in Express team


Posts: 19011
Joined: 2006-05-11
Hello Louis,

1. Add-in Express creates in-process extensions. There's no way for them to be out-of-process.

2. These pages discuss creating a pure managed extension. Add-in Express uses an unmanaged loader which is a native-code IE extension; when loaded by IE, it starts CLR, creates an AppDomain and loads your assembly in the AppDomain. The loader creates a situation different from the situation discussed.


Andrei Smolin
Add-in Express Team Leader
Posted 06 Aug, 2018 04:16:06 Top
Louis Naber




Posts: 6
Joined: 2018-08-04
Thanks Andrei - very impressive.
I hate to be so picky but I am developing this for a very strict client. Is there some way to show from the running system that the AppDomain is created and executing the assembly there?

Best Regards
~ Louis
Posted 07 Aug, 2018 08:56:42 Top
Andrei Smolin


Add-in Express team


Posts: 19011
Joined: 2006-05-11
Hello Louis,

An IE extension may create a button (on the menu, on the toolbar, on an IE bar, on a pane); in the Click event of the control you can get the executing assembly as well as the AppDomain and check them.

Is this what you are looking for?


Andrei Smolin
Add-in Express Team Leader
Posted 07 Aug, 2018 09:09:28 Top