Dll dans reference [Résolu]

Signaler
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Bonjour,

Il y a un truc qui m'échape je vous expliques:
On dev une application on integre les dlls bla bla.

Exemple j'ai MS officce 2007 j'ai développer une application de gestion des comptes avec une base Access derière , la je l'envoie à mon beau frère qui me dis quelle ne fonctionne pas car il a pas Ms office 2007.

Pourquoi une fois l'application générer la personne qui utilise votre application dois absolument avoir les logiciels d'ou les dlls s'appuie?

Il y a t-il un moyen de faire en sorte que l'application fournis utilise ces propres dlls sans installer office?

merci
cordialement

4 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Ce n'est pas cela !

L'interop n'est pas la référence en elle même. Dans un projet vb6 ou Excel, tu peux ajouter un composant (ocx) ou une bibliothèque de références (dll, tlb...). En .Net c'est différent, les objets doivent suivre un certain modèle, le modèle .Net. C'est pour cela que lors de l'ajout d'une référence COM, VS crée une librairie chargé de traduire la référence en modèle .Net. Ce qui donne donc le modèle suivant :

Programme <=> Interop <=> Librairie COM

La librairie Interop, agit comme un composant du Framework à part entière, elle ne nécessite pas d'inscription au registre comme c'est le cas pour un composant COM, elle nécessite juste d'être présente dans le répertoire de l'application. Mais pour fonctionner l'Interop a besoin de la librairie COM, celle-ci, doit être prête à l'emploi sur le machine, donc copié dans un répertoire (système de préférence) et être inscrite au registre via Regsvr32.exe.

Je résume, pour que ton programme fonctionne tu devras donc :

- Copier ton exécutable, avec l'interop.
- Copier la référence COM (qu'elle soit d'office ou autre) dans le répertoire Windows de préférence.
- Inscrire la référence dans le registre via Regsvr32

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Exemple j'ai MS officce 2007 j'ai développer une application de gestion des comptes avec une base Access derière


Tout dépend de ce que tu nomme 'Application'. Si il s'agit d'une macro dans un fichier Word ou Excel, alors oui, il est impératif d'avoir le logiciel adéquate car le fichier s'exécute qu'à travers celle-ci, c'est comme lire un mp3 ou une vidéo sans player...

Si ton application est développé via VB6 ou VB.Net (ou autres, du moment qu'elle porte l'extension .exe) et que celle-ci comporte des références, tu seras obligé de fournir les références avec l'application, et cela me semble tout a fait logique, car les fonctions que tu appelles sont contenu au sein de la DLL référencée, il n'existe donc aucun moyen pour faire tourner un programme sans ses dépendances. Bien que l'on puisse inclure certaines dépendances dans les ressources de l'exécutable, mais cela ne reste franchement pas top.

Il faut utiliser un package d'installation pour automatiser la copie des fichiers, l'inscription au registre de Windows de ceux-ci et la création éventuelle de raccourcis. Si tu développe en vb6 c'est innosetup sinon vois pour ClickOnce en .Net.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
8
bonsoir Mazz,

Donc je dev en vb.net j'ajoute l'interop excel comme référence ,je te fournis mon prog tu n'a pas office donc tu ne peux pas l'utilisé même si j'ai intégrer la dll ou le composant dans le setup!.
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
8
si je procède comme tu viens de dire je dois pouvoir l'utiliser sans installer office.
il y a une particularité au niveau du nom a inscrire dans de la base de registre?
merci