Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007
-
6 janv. 2005 à 15:29
Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007
-
8 janv. 2005 à 14:25
Bonjour
J'ai créé un programme de stock en VB6 sur XP.
Le déploiement sur XP avec Inno Setup ne pose aucun problème. Mais sur Win 98 !!!!! La galère...
La dll qui pose problème est msvcrt.dll, qui, à lire le forum et d'autres sources sur le net, est à la source de bien des maux...
Bref, sous Win98, il me met un message lors de la tentative d'exécution du logiciel
"MSVCRT.DLL est lié à une exportation manquante ...NTDLL: RTLGETNTVersionNumbers" et cela plante le pc.
Comme le lancement a lieu juste après l'install, il tente de démarrer le logiciel à chaque démarrage de Windows (même en mode sans échec!!!) et l'ordi est planté...
Deux questions :
MSVCRT.DLL est-il nécessaire et si oui, comment l'installer ( flags de Inno Setup) ?
Comment faire pour pouvoir redémarrer l'ordi sans lancer le logiciel pour pouvoir le désintalller? Faut-il réinstaller Windows 98?
Au plaisir de vous lire... et merci d'avance pour toute solution ou piste...
Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007 6 janv. 2005 à 16:10
Bonjour, et merci pour cette réponse...
Malheureusement, même en pas à pas, il plante, car juste avant de planter, il demande de lancer WIN... ce qui me paraît le minimum requis pour fonctionner sous Windows
Après le démarrage de Windows, il spécifie qu'il ne peut pas lancer explorer.exe et je retrouve le message déjà cité...
Je ne suis donc pas beaucoup plus avancé...
Je vais essayer en dos de remplacer le fichier msvcrt, sans trop y croire.
Je reste donc actuellement sans solution pour déployer mon application sous Windows98 avec Inno Setup ( C'est dingue qu'il faille passer plus de temps pour déployer une appli que pour la créer...)
petiflamand
Messages postés675Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention26 mai 20131 6 janv. 2005 à 16:22
desoler de pas pouvoir t'aider plus, mais par contre si ta une solution pour moi
Je voudrais rajouter des fichier a installer comme des dll dans system32
pour pouvoir faire tourner le prog , mais je connait pas inno setup quelqu'un sait m"expliquer
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 6 janv. 2005 à 16:40
Bonjour
Il me semble que le problème viendrait plutôt de NTDLL.DLL
dont la version WinXP contient bien la fonction RTLGETNTVersionNumbers
mais pas la version Win9x
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 janv. 2005 à 18:36
Slt Pierre
En consultant les messages précédents, j'en deduit que tu as créer tes
fichiers d'installation sous winXP et que tu essaye de les installés
sous win98.
Je te le déconseille vivement. Je ne connais pas Inno setup,
peut-être qu'il permet de corriger tout ça. Nous au boulot lorsqu'on
fait ce genre de truc, on prend le projet et on recompile et on refait
les fichiers d'install sur chacun des OS cibles.
En compilant et faisant les fichiers d'install sous XP, tu rend ton
exécutable dépendant des Dll (ntdll la première) et du noyau XP (noyau
NT faut-il le preciser). Sous 98 (incompatible NT) tu sera donc obligé
d'installer les Dll's de XP et même en extreme limite tout le noyau
NT5.1, ça va surrement te poser des gros problèmes et tu les as déjà.
Ca peut à la limite passer sous Win2000 mais pas 98.
Version luxe : trouve un utilitaire sous XP qui te permet de
créer l'exécutable et les fichiers d'install avec les fichiers systèmes
de 98
Version démerde : celle que j'utilise courrament et je n'est pas
chercher ailleurs : crée l'exécutable et les fichiers d'install
sous win98, à ce moment là tu aura un jeu d'installation par OS
destinataire.
NOTA : il existe le meme probleme avec compilation et installation sur
le meme OS mais de langue différente. De ce cas utiliser l'utilitaire
IPDK de microsoft, il fait des miracles.
Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007 8 janv. 2005 à 07:21
Bonjour Casi,
Merci pour ta contribution.
La solution que tu proposes pourrait en effet solutionner mon problème, mais je trouve "lourd" de devoir compiler et créer l'install sur plusieurs machines.
Il me semble envisageable, avec Inno Setup en tout cas, d'embarquer différentes versions des dll et de les faire installer en fonction du système sur lequel l'installation est effectuée?
Autre question: Quel est le logiciel de création d'install que tu utilises?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 8 janv. 2005 à 11:06
Salut Pierre
Cette solution est effectivement très lourde d'autant plus que lorsque
on l'a utilisé il fallait déployer sous 95, 98, 2000 et XP et chacun en
version française et américaine (international).
Mais on ne l'a utilisé que sur un projet et ses évolution.
On a un temps songé passer à installshield qui permet cela, mais
l'investissement financier et humain (formation de 6 à 7 personnes)
nous a semblé démesuré à l'époque.
pour InnoSetup j'ai regardé le tutorial de Darksissious sur son site,
apparament ce n'est qu'une version (très) améliorée de l'assiatant
d'empaquetage. Tu peux effectivement rajouter plein de fichiers (et
donc des dll's) dans ton install, il faudrait regarder la doc mais je
ne pense pas qu'il te permettent de générer des installation
multiplateforme ou multiOs si tu préfère.
Il faut savoir q'un exécutable compilé sous noyau NT est imcompatible
sur des Os non NT (il peut marcher, certain marche très bien, mais en
théorie c'est imcompatible).
Sinon, on utilise simplement l'assistant d'empaquetage de VB pour faire
les installs. Les installations ne représentent un point critique pour
nous. Les logiciels fonctionnent habituellement sur 1 à 2 poste
seulement (sauf celui cité au dessus qui est déployer dans le monde
entier). Elles servent juste d'archives en cas de problème.
Généralement on fait l'installation nous même, et dans 90% des cas on
livre même le PC avec toutes les applis déjà installées.
Pour ton problème, c'est msvcrt.dll (et peut-etre d'autre) qui coince
car celui que tu installe dépend du KERNEL32 et de NTDLL de XP (c'est
du moins les dépendances qui sont enregistrées lorsque tu fait
l'empaquetage). A tu essayé de remplacer cette dll par
celle de 98 en mode DOS sur ton PC win98? si ça marche tu peut
essayer de la remplacer dans ton empaquetage après.
Je sais je suis très long, mais quand je commence je ne sais plus m'arreter
En espérant qui arrive à tes fins, perd pas espoir, les solutions
existent mais quelques fois elles sont un peu joueuses, elles se
cachent
Pierre_faucon
Messages postés96Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention22 mai 2007 8 janv. 2005 à 13:45
Salut Casy...
Non, tu n'es pas trop long, et tu me donnes des idées
En fait, en remplaçant msvcrt.dll installé par le même fichier issu d'un Win98, je n'ai plus de problèmes... Dès lors, ta solution de substituer le 98 à l'XP au moment de l'empaquetage me semble intéressante.
Cela étant, je note tes remarques concernant la différence des noyaux (NT pour XP et pas pour 98).
Dès lors, si je veux déployer sur XP, puis-je déployer sans problème une appli empaquetée sur 98?
Si non, je me "rabattrai" sur ta solution de créer plusieurs empaquetages, sauf autre solution d'installation que Inno Setup, qui est gratuit et donc forcément "limité"...
Le seul problème qui me reste ( sauf surprise ) est de faire fonctionner mon appli avec DCOM et MDAC, car l'appli utilise une base Access.
A nouveau, sur XP, pas de problème, mais sur 98, rien ne fonctionne...
Je vais initier un autre fil de discussion sur ce problème, car les nombreuses références trouvées sur le net ne me permettent pas d'avancer beaucoup plus...
Merci pour ta contribution, en tout cas, et à bientôt pour de nouvelles aventures...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 8 janv. 2005 à 14:15
Heureux de te rendre service.
Et oui chez Microsoft il y a deux grande famille d'OS pour simplifier :
la famille 98 regroupant Win95, Win98, et Millenium
la famille NT avec NT3.5 et 4.0, Win2000, Win XP, Server,......,LongHorn,....
Le noyau NT accés sur les profil utilisateurs, travail sur serveur réseau, etc...
Déployer une appli 98 sur XP ne devrait pas trop poser de problèmes. Au mieux c'est marche
au pire XP prevois un système d'émulation pour faire croire à ton appli
qu'elle tourne sous 98 (utile pour faire tourner de vieux jeu DOS sous
XP mais ça marche pas avec tous)
Une piste : sur un exe sous XP fait un clic droit, proprités et regarde l'onglet compatibilité
Pour Inno setup que j'ai télécharger et à peine survoler, le petit
reproche c'est qu'il ne semble pas capable d'aller chercher lui même
toutes les dépendances de ton projet (ocx, dlll, ...) chose que
l'empaquetteur de VB.
Pour ta BDD justement, personellement lorsque j'utilise une BDD,
l'empaqueteur à tendance à me rajouter dans l'empaq.... (ça fait
beaucoup de répétition tout ça) un
utilitaire autoinstallable qui s'appele MDAC_TYP.EXE. Il s'execute au
début de l'install avant la copie de ton appli. Seul bémol, souvent il
demande de redémarrer avant de poursuivre ton install.
C'est surrement du au fait que tu n'a pas Acces d'installé sous 98 et pas non plus les moteurs de connection aux BDD.