Pb déploiement sur Win98

Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007 - 6 janv. 2005 à 15:29
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 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 Fauconnier

11 réponses

petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
6 janv. 2005 à 15:35
Salut

Avec windows 98 tu a aussi le demarage pas a pas et tu peux regarder ce qu'il execute

et autoriser uniquement ce que tu a envie qu'il lance.
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 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...)

Merci pour le temps consacré. A bientôt

Pierre Fauconnier
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
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

j'ai

[Files]
Source: "C:\texaco\Facture_texaco.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\texaco\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs

Que faut-il rajouter pour par exemple envoyer le dll vb5fr.dll dans le repertoire de
\windows\system32

Merci
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
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
0

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

Posez votre question
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
6 janv. 2005 à 17:25
Bonjour René,

Merci pour cette réponse...

Dois-je comprendre que je dois dès lors déployer ntdll.dll en même temps que mon appli en embarquant la ntdll.dll de mon système XP.

Risque-t-il d'y avoir un conflit avec Win98?

Merci d'avoir fait avancer mon schmillblick...

Pierre Fauconnier
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 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?

Merci pour ces réponses et bon week-end...

Pierre Fauconnier
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 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...

Pierre Fauconnier
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.



A+
0
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
8 janv. 2005 à 14:25
Super merci...

En fait, en vérifiant dans Inno Setup, il me semble que mdac_typ.exe s'exécute APRES l'install de mon appli...

Je vais tenter de dépatouiller tout cela.

Cela dit, si l'aide à l'utilisation de VB foisonne sur le net, la documentation technique sur le déploiement des applis est beaucoup plus rare...

Heureusement qu'il y a des forums et des gens comme toi...

Bon week-end.

Pierre
0
Rejoignez-nous