Question

Je viens de terminer la construction de mon nouveau projet COM (C #, .NET 3.5). Ce projet sera appelé par une application VFP. Cela fonctionne très bien sur ma machine de développement, mais je dois maintenant savoir comment le déployer sur la machine de l'utilisateur. Click Once n'est pas disponible pour ce type de projet, je suppose donc que je suis coincé avec la distribution manuelle de la DLL.

Alors, où dois-je placer la DLL et comment l'enregistrer?

BTW, le framework 3.5 est déjà installé sur la machine de l'utilisateur.

TIA

Était-ce utile?

La solution

Je n'ai vraiment jamais utilisé RegSvr32 avec les assemblys .Net, mais plutôt le régasm avec l'option / codebase:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

Vous pouvez également utiliser l'option / tlb pour exporter et enregistrer la bibliothèque de types.

Bien sûr, le moyen le plus simple consiste à créer un programme d’installation avec vstudio, qui le fera pour vous.

Autres conseils

Création d'une description de la classe et des interfaces COM

Les assemblys .Net n'incluent pas d'informations au format compatible avec la bibliothèque de types. Il est donc nécessaire que le programmeur exécute l'un des deux utilitaires fournis par .Net pour extraire la description de l'assembly d'une classe dans un fichier de bibliothèque de types.

Un utilitaire est TLBEXP.EXE, l’exportateur de bibliothèques de types .Net. Cet utilitaire de ligne de commande prend en entrée le nom d'un fichier DLL d'assembly à convertir en bibliothèque de types. Le programmeur peut également spécifier le nom du fichier de bibliothèque de types à créer.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

Une fois qu'une bibliothèque de types a été créée, elle peut être référencée par un client COM pour obtenir les informations nécessaires pour que le client COM puisse se lier aux interfaces de la classe COM et activer la classe COM au moment de l'exécution.

Enregistrement de la classe et des interfaces COM

Pour qu'une classe COM soit accessible par le client au moment de l'exécution, l'infrastructure COM doit savoir comment localiser le code qui implémente la classe COM. La commande suivante accomplit ceci:

regasm ComServer.dll

Votre DLL peut être placée n'importe où, mais C: \ Program Files \ MyApplication est un bon choix.

http://www.csharphelp.com/archives/archive190.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top