Portabilité d’une XLL compilée via Visual C++ 2008

abalay Messages postés 4 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 6 octobre 2010 - 6 oct. 2010 à 11:31
abalay Messages postés 4 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 6 octobre 2010 - 6 oct. 2010 à 18:21
Bonjour,
L’outil de notre boite est basée sur Excel auquel nous avons ajouté une librairie de fonctions. Nous sommes en train de nous en débarrasser (car payante) en programmant notre propre librairie. Nous avons choisi (après plusieurs essais dans différents environnements) de le faire en c++ puis de la passer en XLL.

L’ordinateur sur lequel nous programmons notre librairie est équipé de Visual C++2008, les autres machines (4) ne le sont pas. Toutes les machines sont équipées d’Excel 2010, OS, Windows XP. L’idée est donc de pouvoir utiliser la xll sur les autres machines sans forcément avoir à installer visual c++.

La librairie XLL est à usage strictement propriétaire : elle ne sera pas vendue ou mise à disposition de nos clients…

Voici les différentes étapes que j’ai suivies :

J’ai construit une xll à l’aide de visual C++ 2008.
J’ai installé le ToolKit 2010 microsoft.
Ma xll fonctionne très bien sur mon pc : je peux utiliser toutes les fonctions que j’ai créées dans la xll.
Je souhaite utiliser cette xll sur un autre pc qui n’est pas équipé de visual C++ 2008.
Le problème, c’est qu’il ne reconnaît plus le format de la xll. Le message qui apparaît est le suivant : « Le format du fichier que vous tentez d’ouvrir est différent de celui spécifié par l’extension de fichier… »

J’ai essayé plusieurs choses :
- compiler en mode release
- compiler en multithread (/MT)
- installer le module « Package redistribuable Microsoft Visual C++ 2008 (x86)
- utiliser l’outil « dependencywalker » pour compléter les librairies manquantes dans mon Système32

Rien à faire, si je n’installe pas visual c++ 2008 sur le pc, je n’arrive pas à lire ma xll. Si quelqu’un à une bonne idée, qu’il ne se prive pas.
Par avance merci

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 oct. 2010 à 16:25
Telecharge depends ici:
http://www.dependencywalker.com/

et verifie que ta dll n'a pas d'autre dependance que les DLLs de Windows.

ciao...
BruNews, MVP VC++
0
abalay Messages postés 4 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 6 octobre 2010
6 oct. 2010 à 16:49
Merci pour ta réponse,

J'ai déjà utilisé Dependency Walker : il ne me manque aucune librairie.
Le problème est bien là, je n'arrive pas à voir quels éléments installe Visual studio nécessaires à la lecture d'un fichier xll.
Merci de vos réponses
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
6 oct. 2010 à 16:52
Tu dois faire être dépendant de la CRT de VS 2008.
Des DLLs du style MSVCRT**.dll.


@+
Arnotic,
Admin CS
0
abalay Messages postés 4 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 6 octobre 2010
6 oct. 2010 à 17:20
Merci pour ta réponse mais je ne vois pas bien ce que je peux faire de plus pour résoudre mon problème mis à part installer Visual studio 2008 mais ce n'est pas le but.
DependencyWalker m'indique bien les dll MSVCRT** et apparemment il ne m'en manque pas.
merci pour vos recherches
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
6 oct. 2010 à 18:10
Il ne manque pas sur ton PC normal. Mais sur les autres PCs ?
Soit tu codes en supprimant ces dépendances soit tu installes le VC++ Runtime sur les machines où tu dois poser ton exe.


@+
Arnotic,
Admin CS
0
abalay Messages postés 4 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 6 octobre 2010
6 oct. 2010 à 18:21
Je me suis mal exprimé.
Le pc sur lequel je souhaite utiliser la xll n'est pas équipé de vc++ 2008. Cependant, il est équipé du runtime vc++ 2008(Package redistribuable Microsoft Visual C++ 2008 (x86)).
De plus, lorsque je fais le dependency walker sur ce pc, il ne m'indique pas de dll manquante alors que la xll ne fonctionne pas.
La seule solution pour faire fonctionner la xll sur ce pc, c'est d'installer vc++ 2008 ce que je ne souhaite pas faire.
Je ne sais pas si je suis assez clair !!
merci d'avance
0
Rejoignez-nous