2010-05-18 8 views
1

J'utilise regfree com pour déployer un composant activex avec clickonce. Le composant dépend de certaines DLL natives qui doivent résider dans le même répertoire que le composant. Si je copie manuellement les DLL natives dans le répertoire d'installation de l'application clickonce (j'ai localisé le répertoire en utilisant System.Reflection.Assembly.GetExecutingAssembly()), l'application s'exécute correctement. Mais si j'inclus les dlls dans le projet et les publie, l'application ne fonctionne pas ..clickonce, ajout de dll natives, com free reg

Des suggestions ou des solutions de contournement?

Cordialement,

Fredrik

Répondre

2

Intégrer les fichiers .dll natifs dans Les votre assembly géré comme une ressource intégrée et extraire le disque lors de l'exécution si le ne sont pas présents.

Si ce processus ne vous est pas familier, laissez-moi un commentaire et je ferai un effort pour l'expliquer. Ce n'est pas si compliqué.

+0

merci! vous avez sauvé ma journée .. Je peux voir que les dll ne sont pas copiés du tout dans le répertoire de l'application .. – fsl

+0

@fsl - donc vous êtes familier avec l'intégration et l'extraction des ressources d'un assemblage? –

+0

Le long des lignes de Application.GetResourcePart (Uri relativeUri) .. puis ouvrez un flux de fichier à: System.Reflection.Assembly.GetExecutingAssembly())? – fsl