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

I had problems with this and Naughter's free XTaskDialog API, to get a fallback mechanism on Windows XP machines via emulation, rendering this dialog implementation much more useful. :)

In my case it was an activation context issue, as mentioned in this blog entry.

Or, quoted here, in case the blog post is lost in cyberspace some day (applies to Visual Studio):

  1. Open your project properties in the Solution Explorer,
  2. On the Security tab, check Enable ClickOnce Security Settings,
  3. Now you can see appearing the app.manifest file in the Properties folder of your solution, open it,
  4. Beneath the </trustInfo> tag, insert the code below.
  5. If you try to build, there may be an error. To fix it, uncheck the Enable ClickOnce Security Settings.

The code to insert in step 4:

<dependency>
  <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" 
        version="6.0.0.0" processorArchitecture="*"
        publicKeyToken="6595b64144ccf1df" language="*" />
  </dependentAssembly>
</dependency>