Il y a quelques jours j'ai eu besoin d'enregistrer un composant COM sous VISTA. J'utilise en effet un composant COM dans une application .NET qui me permet de concaténer des fichiers PDF de nos formations (Winwise) afin de réduire le prix de prise en charge de nos documents numériques lors de l'impression chez notre imprimeur…et oui, il n'y a pas de petite économie ;)
Lors de ma première tentative, à la ligne de commande (cmd) lancée depuis le bouton start, j'ai eu le message d'erreur suivant : The module "xxxxx" was loaded but the call to DllRegisterServer failed with error code 0x80020009. For more information about this problem, search online using the error code as search item.
J'ai cru au départ que mon composant n'était pas compatible VISTA,…quelle mauvaise langue je suis..., le message veut dire en langage humain " Vous n'avez pas les privillèges suffisants, veuillez lancer cette commande avec un compte administrateur, s'il vous plait :)"
Alors dans mon fort intérieur je me dis…Comment çà ? Ne suis-je pas Administrateur ? De ma super machine que je me suis installé moi-même ?
Je vérifie : Start-> Control Panel -> Add or remove user accounts
Pourtant si…ce comportement s'explique par le fait que Vista est bien plus secure que XP ou Windows 2003 de part le fait que tous les programmes s'exécutent avec les privillèges minimum, même si on est administrateur. A nous de préciser lorsque nous en avons vraiment besoin que nous souhaitons utiliser nos super pouvoirs… Le lancement de la console et de la commande regsvr32 n'échappe pas à cette règle.
La solution élégante d'arriver à ses fins est alors de lancer la fenêtre de commande depuis :
Start -> All Programs -> Accessories -> Command Prompt -> click droit -> Run as administrator
Hope this help