Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[Seven / Vista] La classe TaskDialog et l’erreur “Unable to find an entry point named 'TaskDialogIndirect' in DLL 'comctl32.dll'”

Suite à la demande de tomlev, j’ai cherché à utilisé la classe TaskDialog du Windows® API Code Pack for Microsoft® .NET Framework (v0.85) et effectivement, ce n’est pas aussi simple car l’utilisation du code provoque l’erreur suivante:

Unable to find an entry point named 'TaskDialogIndirect' in DLL 'comctl32.dll'.

image

Après avoir cherché sur Internet, j’ai confirmé ce que tomlev avait dit à savoir que que l’erreur provient d’un fichier manifest qui doit être présent et dans lequel on force l’utilisation comctl.dll en version 6 (afin de forcer vos contrôles à avoir le “look & feel” de Windows Vista ou Windows Seven). J’ai trouvé la solution à ce problème grâce à ce lien et je vous le fais partager. Faîtes un clic droit sur votre projet => Propriétés => Security. Là, cocher la case “Enable ClickOnce Security Settings”:

image

Puis compiler votre projet. Là, un fichier app.manifest va apparaitre dans le répertoire Properties de votre projet:

image

Double-cliquez sur ce fichier et sous la ligne:

</trustInfo>

Rajoutez ceci:

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

Ensuite, recompiler votre projet. Vous devriez alors avoir une erreur de compilation:

image

Pour la faire disparaitre, décochez simplement la case “Enable ClickOnce Security Settings” qui est dans l’onglet Security des propriétés de votre projet. Recompilez votre projet, exécuter-le à nouveau et vous devriez constater que l’application (et la TaskDialog) se lance parfaitement Smile

image

 

A+

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 20 mai 2009 09:58 par Thomas LEBRUN

Commentaires

VANNESTE Xavier a dit :

Alors celle la on peut pas l'inventer :) Bravo pour la soluce.

# mai 20, 2009 17:09

tomlev a dit :

Salut Thomas, merci d'avoir planché sur mon problème :) (et désolé pour la réponse tardive, je rentre juste de vacances...)

Malheureusement, rien à faire, ça ne fonctionne pas chez moi :(

Par contre j'ai remarqué un truc intéressant... Le projet dans lequel je testais était une appli WPF. J'ai refait le test avec une appli WinForms, et là, pas de problème ! Donc le problème doit être lié à WPF, mais je comprends pas trop pourquoi :S

# mai 26, 2009 00:06

aybezero a dit :

# juin 23, 2009 22:15
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Imagine Cup 2012, Make a Sign en finale par Le Blog (Vert) d'Arnaud JUND le 05-23-2012, 12:57

- Kinect 1.5 is out ! par Cyril Sansus le 05-21-2012, 17:47

- Les actualités de la semaine sur c2i.fr (14 mai - 20 mai) par Richard Clark le 05-21-2012, 08:50

- Reactive Extensions : Consommer des services avec Rx Partie 3, les pièges à éviter par Léonard Labat le 05-20-2012, 23:45

- SharePoint Blog Site, problème d’archives par Le Blog (Vert) d'Arnaud JUND le 05-20-2012, 13:09

- Soirée ALT.NET Mai - 3 présentations par #Rui le 05-18-2012, 11:59

- [ #SharePoint 2010][ #SQLServer 2012] AlwaysOn pour SharePoint (2/4) : Configuration (2e partie)… par Le blog de Patrick [MVP SharePoint] le 05-18-2012, 11:31

- Team Foundation Server 11: tous les trésors cachés du site d’équipe par Philess le 05-16-2012, 19:01

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le 05-16-2012, 17:36

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le 05-16-2012, 12:10