Dll dans reference

Résolu
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 - 2 août 2010 à 17:43
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 - 3 août 2010 à 00:23
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

Mayzz Messages postés 2812 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 22:31
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.
3
Mayzz Messages postés 2812 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 août 2010 à 19:32
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.
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
2 août 2010 à 20:47
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!.
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
3 août 2010 à 00:23
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
0
Rejoignez-nous