Unable to find entry point named 'TaskDialogIndirect' in DLL 'ComCtl32

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

Unable to find entry point named 'TaskDialogIndirect' in DLL 'ComCtl32
 
Martin Kirsten




Posts: 71
Joined: 2008-04-23
Hi

I am using a 3rd party library to instantiate a TaskDialog from my Add-in. When using the library to show a TaskDialog in a Windows app, the dialog works perfectly. However, when using it in my Add-in, I get the following exception:

Detailed technical information follows:
---
(Inner Exception)
Date and Time: 2008/11/17 11:39:10 AM
Machine Name: *******
IP Address: *******
Current User: *******

Application Domain: *******
Assembly Codebase: file:///C:/Windows/assembly/GAC_MSIL/AddinExpress.MSO.2005/4.2.1908.2005__4416dd98f0861965/AddinExpress.MSO.2005.dll
Assembly Full Name: AddinExpress.MSO.2005, Version=4.2.1908.2005, Culture=neutral, PublicKeyToken=4416dd98f0861965
Assembly Version: 4.2.1908.2005
Assembly Build Date: 2005/03/23 01:06:50 AM

Exception Source: TaskDialog
Exception Type: System.EntryPointNotFoundException
Exception Message: Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32'.
Exception Target Site: TaskDialogIndirect

---- Stack Trace ----
WindowsTaskDialog.UnsafeNativeMethods.TaskDialogIndirect(pTaskConfig As TASKDIALOGCONFIG&, pnButton As Int32&, pnRadioButton As Int32&, pfVerificationFlagChecked As Boolean&)
AddinExpress.MSO.2005.dll: N 00000 (0x0) JIT
WindowsTaskDialog.TaskDialog.PrivateShow(hwndOwner As IntPtr, verificationFlagChecked As Boolean&, radioButtonResult As Int32&)
AddinExpress.MSO.2005.dll: N 0037 (0x25) IL
WindowsTaskDialog.TaskDialog.Show(hwndOwner As IntPtr, verificationFlagChecked As Boolean&, radioButtonResult As Int32&)
AddinExpress.MSO.2005.dll: N 0000 (0x0) IL
WindowsTaskDialog.TaskDialog.Show(hwndOwner As IntPtr)
AddinExpress.MSO.2005.dll: N 0000 (0x0) IL
KnowledgeTree.OfficeAddIn.AddinModule.adxWordEvents_DocumentBeforeClose(sender As Object, e As ADXHostBeforeActionEventArgs)
AddinModule.cs: line 1759, col 17, IL 0107 (0x6B)
AddinExpress.MSO.ADXWordAppEvents.DoDocumentBeforeClose(doc As Object, cancel As Boolean&)
AddinExpress.MSO.2005.dll: N 0017 (0x11) IL

(Outer Exception)
Date and Time: 2008/11/17 11:39:10 AM
Machine Name: *******
IP Address: *******
Current User: *******

Application Domain: *******
Assembly Codebase: file:///C:/Windows/assembly/GAC_MSIL/AddinExpress.MSO.2005/4.2.1908.2005__4416dd98f0861965/AddinExpress.MSO.2005.dll
Assembly Full Name: AddinExpress.MSO.2005, Version=4.2.1908.2005, Culture=neutral, PublicKeyToken=4416dd98f0861965
Assembly Version: 4.2.1908.2005
Assembly Build Date: 2005/03/23 01:06:50 AM

Exception Source:
Exception Type: AddinExpress.MSO.ADXExternalException
Exception Message: An error has occured in the code of the add-in.
Exception Target Site: Object reference not set to an instance of an object.

---- Stack Trace ----

I suspect the problem is with the version of ComCtl32 being called. The 3rd party library requires v6, does the AddInExpress dll reference a different version?

Any advice will be greatly appreciated.
Posted 17 Nov, 2008 07:18:16 Top
Eugene Astafiev


Guest


Hi Martin,

The stack trace states that the exception occurs in the applied code.

I have a bunch of questions for you:

1. What OS do you use?
2. Is OS up to date?
3. What Office version do you use?
4. Is Office up to date?

5. Did you try to debug?
Posted 17 Nov, 2008 07:26:16 Top
Martin Kirsten




Posts: 71
Joined: 2008-04-23
Hi Eugene

1 - Windows Vista Enterprise SP1
2 - Yes, all latest OS updates applied
3 - Office 2007 (Word gives the following info: Office Word 2007 12.0.6311.5000 SP1 MSO 12.0.6320.500)
4 - Yes, all latest Office 2007 updates have been applied

Yes, the error does occur in the applied code, but it only occurs when running the specific control from within my Office 2007 Add-in; when using the control in a standard Windows Forms App, the error does not occur.

Does Add-in Express reference a different ComCtl32 than the standard one, i.e. the one released with Vista?


Thanks

Martin
Posted 18 Nov, 2008 03:29:50 Top
Martin Kirsten




Posts: 71
Joined: 2008-04-23
Hi Eugene

I am using Add-in Express .NET v 4.2.1908.2005.
Posted 18 Nov, 2008 03:33:28 Top
Eugene Astafiev


Guest


Hi Martin,

Does Add-in Express reference a different ComCtl32 than the standard one, i.e. the one released with Vista?


Add-in Express uses standard libraries.
Posted 18 Nov, 2008 06:10:01 Top
Eugene Astafiev


Guest


Martin,

Please try using standard .Net controls. Do you get the same issue?

BTW Try installing the latest version of Add-in Express. You can download it http://www.add-in-express.com/downloads/adxnet.php.
Posted 18 Nov, 2008 06:16:06 Top
Martin Kirsten




Posts: 71
Joined: 2008-04-23
Hi Eugene

I will upgrade to the latest version of ADX.

I have used a standard MessageBox, which doesn't cause the error, but this does not prove anything. The TaskDialog is a standard control in ComCtl32 v6, the library I am using is merely a wrapper for this control.

And as mentioned in my earlier post, the TaskDialog control works perfectly when not used in my Add-in, which seems to show that the problem lies with ADX: the error listing in my original post clearly shows that the control cannot be found when used in an ADX Add-in (
Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32'.
).

Please advise whether ADX references a different ComCtl32 than the standard one deployed with Windows Vista.

I will let you know the outcome of the ADX upgrade, but will appreciate answers to the questions posted above.

Thanks

Martin
Posted 19 Nov, 2008 04:20:44 Top
Eugene Astafiev


Guest


Hi Martin,

The TaskDialog is a standard control in ComCtl32 v6


Did you try to use standard .Net controls?
Posted 19 Nov, 2008 04:45:55 Top
Martin Kirsten




Posts: 71
Joined: 2008-04-23
Hi Eugene

I am using several standard .Net controls in my Add-in and they al work perfectly. To test, I have also used a standard .Net control where I am trying to call the TaskDialog, and it works fine.

I have also upgraded to the latest ADX build, and the error still occurs.

You are ignoring my question regarding whether ADX references a different ComCtl32 than the standard one deployed with Windows Vista (v6). Please confirm whether ADX references v6 of ComCtl32.

Thanks

Martin
Posted 19 Nov, 2008 12:07:23 Top
Eugene Astafiev


Guest


Hi Martin,

I can confirm that Add-in Express uses standard ComCtl32 which is deployed with Vista.

You can send us a sample project which can reproduce the issue to the support e-mail address (see readme.txt). I will test it.
Posted 19 Nov, 2008 12:50:05 Top