En effet c'est du VB6. Je me suis trompé dans le copier-coller.
En fait, lorsque j'essaie d'instancier en vb.net une classe de msi.dll (par exemple installer)
Lorsque je tape
Dim myObj as windowsinstaller.installer
myObj = new windowsinstaller.installer
L'application génère une erreur à la compilation. Ce qui parait normal car cette dll ne contient que des interfaces.
J'ai voulu passer alors par 'createobject("windowsinstaller.installer")'. Et là, si l'exe est bien compilé, à l'execution, il génère l'erreur 'impossible de créer le composant activeX'.
Pas grave me dis-je, je vais contourner le problème en créant une dll en VB6, puis je vais l'importer via tlbimp. Là tout se passe bien, sauf que par la suite mon appli ne marche que sur des postes windows2k et non sur des postes XP ( si par exemple ma dll importée s'appelle msinet.dll qui contine la classe 'msiClass' l'erreur se déclenche à myClass = new msinet.msiClass l'instanciation d'une classe) .
Ce qui m'a fait penser que XP n'aime pas trop les dll deVB6 ou quelque chose m'echappe.
En résumé,il y a deux problèmes dans cette histoire et si quelqu'un avait la réponse à l'une des deux, cela me conviendrait (même si jaurais préféré utiliser la classe installer sans passer par VB6.
Merci d'avance pour ta réponse.