Portabilité d’une XLL compilée en Visual C++ 2008 [C++/XLL] - C++ - Programmation
Marsh Posté le 06-10-2010 à 14:36:14
Bon, je ne connais pas trop les XLL, mais il me semble que c'est bien expliqué dans cette page: http://support.microsoft.com/kb/178474
Notamment :
Using the Add-In with Microsoft Excel |
Cela dit, il pourrait y avoir des problèmes de runtime. Genre ta DLL va probablement être liée à une version plus récente de la msvcrt qu'il y a d'installé sur les autres PC. Normallement il suffit d'installer cette DLL pour que ça fonctionne, il y a déjà des packages tout prêt dans VS. En tout cas, pas la peine d'installer Visual Studio sur le poste des utilisateurs.
Marsh Posté le 06-10-2010 à 14:41:28
Oui c'est à ça que sert le module « Package redistribuable Microsoft Visual C++ 2008 (x86) »
Marsh Posté le 06-10-2010 à 14:58:32
tpierron a écrit : Bon, je ne connais pas trop les XLL, mais il me semble que c'est bien expliqué dans cette page: http://support.microsoft.com/kb/178474
|
Riot a écrit : Oui c'est à ça que sert le module « Package redistribuable Microsoft Visual C++ 2008 (x86) » |
Merci pour vos réponses, mais je suis toujours bloqué..
J'ai bien installé le module Package redistribuable Microsoft Visual C++, ça ne donne rien.
Je suis aussi passé par le menu excel pour installer la xll en add-in, ça ne marche pas non plus,
J'ai versifié les versions de la dll msvcrt, on a la même sur toutes les machines..
Pour le moment, la xll ne peut être lue par Excel que si Visual studio est installé sur l'ordinateur...
Edit:
La question, pour ceux qui savent.. c'est, que se passe t'il à l'installation de Visual Studio qui fais que Excel supporte ma xll...??
N'y aurait'il pas un moyen de "simuler" l'installation de VS en ne mettant que les fichiers qui permettent la lecture de ma xll?
Marsh Posté le 06-10-2010 à 11:21:20
Portabilité d’une XLL compilée via Visual C++ 2008
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, je suis preneur
Par avance merci
EDIT: j'ai hésité à poster dans cette sous catégorie, si vous pensez que ça peut être mieux ailleurs, je le bougerai...
Message édité par hush hush le 06-10-2010 à 11:30:39