2010-12-12 89 views
0

J'ai écrit un programme qui fonctionne parfaitement bien installé sur mon PC de développement, mais quand j'utilise l'assistant dans "Build-> Publish" et installe le logiciel sur un autre ordinateur il se plaint qu'il ne peut pas trouver la DLL que j'ai liée à. La DLL provient d'une carte programmable que je relie, donc je n'ai pas accès au code source, et je l'ai inclus dans mon projet en utilisant les lignes suivantes:y compris DLL liée dans les paquets d'installation - Visual Studio 2010

Declare Function InitMbee Lib "C:\Users\Martin & Celina\Desktop\VBmini\mb.dll"() As Boolean 
Declare Function SetOutputs Lib "C:\Users\Martin & Celina\Desktop\VBmini\mb.dll" (ByVal outputs As Integer) As Boolean 

Cependant, je Je n'ai pas inclus la DLL d'une autre manière, donc je me demande si je dois l'ajouter à une liste d'éléments qui doivent être inclus dans l'installateur, ou si je l'ai déclaré comme il le faut être au même endroit pour toutes les installations.

Toute aide serait grandement appréciée.

+0

À quoi vous attendiez-vous lorsque vous avez codé en dur un chemin qui inclut votre propre répertoire de profil? –

Répondre

2

L'EDI n'est pas assez intelligent pour analyser votre source et voir que vous épinglez une DLL. Dans votre projet normal, Projet + Ajouter un élément existant et sélectionnez cette DLL. Sélectionnez-le dans la fenêtre de l'Explorateur de solutions. Dans la fenêtre Propriétés, définissez Action de construction sur "Contenu". Cela garantit que l'IDE sait qu'il doit également être publié.

Définissez Copier dans le répertoire de sortie sur "Copier si plus récent". Cela garantit que la DLL finit au bon endroit, le même dossier que votre EXE. Revenez maintenant à vos instructions Declare et supprimez le répertoire du nom de fichier. Cela ne peut pas fonctionner, il n'y aura pas de Celina sur la machine cible.

+0

Merci, fonctionne parfaitement. –