ADX 2.7 Outlook Installer Needs PerfCounters Enabled?

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

ADX 2.7 Outlook Installer Needs PerfCounters Enabled?
 
David Ing




Posts: 56
Joined: 2006-06-27
I have some customers where the ADX addin installer fails with a:

"ADXLoader Error
The 'DllRegister' function failed during execution (HRESULT=-2147024891)"

(the -214... is General Access Denied COM error)

They are admin on their WinXP Pro machines.

When running a quick environment diagnostic utility I wrote to check out their setup, I noticed I get an exception in my code:

"Exception: Process performance counter is disabled, so the requested operation cannot be performed. : at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)"

It's on a line where I see what they have loaded up already in the Outlook.exe process.

So, could these things be related, as in is a GetProcessInfos call (or similar) failing inside the ADX installer too?

It seems as if some peoples corporate environments have certain things disabled, and this is causing an ADX based addin to fail.

Also, it may be the case that other programs have disabled/corrupted the perf counters (in .NET 1.1 even just to get a local process stats you needed the full perf counter system enabled, this is fixed in .NET 2.0 afaik).

In case it is useful to others, here's what I found for re-enabling them:

Check and set the following regkey:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance]
"Disable Performance Counters"=dword:00000000

or see http://support.microsoft.com/default.aspx?scid=kb;en-us;Q248993

If that doesn't work then you can rebuild the perf counter keys (but not for faint-hearted), i.e: http://support.microsoft.com/default.aspx?kbid=300956

If this is the case inside the ADX adxloader Installer then it would be better just to avoid using and GetProc* style calls on .NET 1.1 and use other techniques to see if something else is running...
Posted 29 Aug, 2006 15:40:15 Top
David Ing




Posts: 56
Joined: 2006-06-27

Should have said before...

The installer method I use is the 'adxloader.dll DllRegister' in ADX 2.7.

Also, any .NET 1.1 call that uses the underlying GetProcessInfos will fail too, i.e. including System.Diagnostics.Process.get_ProcessName()

How about use something like Process.MainModule.ModuleName instead - that might not have the same perfcounter dependancies (I think)?

(Basically an ADX install code change would be better than having to re-enable the counters on every customer's machine that has this issue...)
Posted 29 Aug, 2006 16:52:29 Top
Sergey Grischenko


Add-in Express team


Posts: 7233
Joined: 2004-07-05
Hi David.

Thank you very much for the information.
I use the 'System.Diagnostics.Process.GetCurrentProcess().ProcessName' statement in the ADX registration code. I will try to change it.
Posted 31 Aug, 2006 15:32:26 Top
nfsadx




Posts: 56
Joined: 2006-07-21
Hi Sergey,

This issue is still present in ADX 2.7. I found this link http://taglocity.com/fogbugz/default.asp?TaglocityGeneral.1.367.10 by googling for -2146232828 (the dll register function error I received when trying to install my add-in). After changing the reg key given the original post above
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance]
"Disable Performance Counters"=dword:00000000
, the install works.

Please advise on whether the fix you were going to look into was tried.
Posted 18 Oct, 2006 10:40:33 Top
Sergey Grischenko


Add-in Express team


Posts: 7233
Joined: 2004-07-05
Hi Harry.

This issue will be fixed in the next ADX version.
Posted 19 Oct, 2006 05:48:32 Top
David Ing




Posts: 56
Joined: 2006-06-27

Is the next public version release quite soon? :D
Posted 19 Oct, 2006 10:05:24 Top
Sergey Grischenko


Add-in Express team


Posts: 7233
Joined: 2004-07-05
Hi David.

We decided to publish a new ADX build next week.
Posted 19 Oct, 2006 12:55:47 Top