IntResource and EMET #3

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

IntResource and EMET #3
Outlook killed by SimExecFlow rule 
Fabrice Durieu


Guest


Hello

I'm in the same situation than these 2 topics:
1/ https://www.add-in-express.com/forum/read.php?FID=5&TID=13737
2/ https://www.add-in-express.com/forum/read.php?FID=5&TID=13832

Do you have a procedure to solve this problem ?

I currently use ADX v8.

Panels used:
- explorer: 1 right, 1 in preview
- compose email: 1 right docked, 1 bottom docked
- read email : 1 bottom docked

Outlook version: 2010 => 2016


I saw this post:


We were able to resolve this issue with the assistance of ADX. Basically the following steps were required:


1. Add a modified version of IntResource.dll/IntResource64.dll to the setup project, so they are installed next to AddinExpress.OL.2005.dll.

2. Add a UserControl to the addin project (assumedly an obscured configuration) with the following exact code:
[ComVisible(true), ProgId("ADXXServicePane.ProgID"), Guid("9E834F6F-BF48-46C5-820C-833B05104A8C")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
}


3. Remove AddinExpress.OL.2005.dll from the GAC (so the IntResource libraries are no longer extracted from this assembly to the %Temp% folder).


Questions:
1. What's the "modified version" of these dll ? Do you provide this ?
3. On customer computer these dll is not in the gac. Do I need to do something ?

Thank you for your help
Fabrice
Posted 08 Nov, 2018 08:47:46 Top
Andrei Smolin


Add-in Express team


Posts: 18830
Joined: 2006-05-11
Hello Fabrice,

The workaround that we currently use is this: add a UserControl to your add-in project with this exact code; you can change the class name if required:

[ComVisible(true), ProgId("ADXXServicePane.ProgID"), Guid("9E834F6F-BF48-46C5-820C-833B05104A8C")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
}

Make sure that 1) your installer deploys IntResource.dll/IntResource64.dll (the latest build is 1.08.177), and 2) that when your add-in shows a pane, this doesn?Â?Ð?ét create IntResource.dll/IntResource64.dll of this or any other build in AppData\Local\Temp.


Andrei Smolin
Add-in Express Team Leader
Posted 09 Nov, 2018 03:42:44 Top
Fabrice Durieu


Guest


Thank you for your reply
Could you explain me what's the purpose of this (empty/not used) UserControl ? I would like to know what's behind the scene.
Posted 09 Nov, 2018 12:51:43 Top
Andrei Smolin


Add-in Express team


Posts: 18830
Joined: 2006-05-11
Hello Fabrice,

IntResource.dll and that UserControl are used when several add-ins are placing their CTPs in the same area. We assume that the actual issue is caused by IntResource trying to save some data in the code region of the process. We look for other code solutions to bypass this issue.


Andrei Smolin
Add-in Express Team Leader
Posted 12 Nov, 2018 06:46:31 Top
Fabrice Durieu


Guest


Thank you for your explanation

I still have 2 questions:
- Does this change have any impact other than this compatibility ? i.e. performance or memory
- Could you send me IntResource64.dll v1.0.5.63 ? Because I already uninstalled ADX v8 and installed v9 so that I'm testing in the dev branch that everything works fine. But this EMET compatibility change is being done on stable version, currently using adx v8.0.4330.0. I found the IntResource.dll in appdata as you explain, but not the 64bit version.

Thank you for your help
Posted 14 Nov, 2018 09:12:51 Top
Andrei Smolin


Add-in Express team


Posts: 18830
Joined: 2006-05-11
Hello Fabrice,

I'm afraid I don't have that DLL. You need to install that Add-in Express version and find IntResource.dll and IntResource64.dll in {Add-in Express installation folder}\Redistributables.


Andrei Smolin
Add-in Express Team Leader
Posted 15 Nov, 2018 06:09:03 Top