Problème dinstallation dune application VB sur une autre machine, affichage du
Message « Linstallation ne peut continuer parce que certains de vos fichiers systèmes sont périmés.
. »
Bonjour,
Cela fait 3 jours que je galère avec le problème du message « fichiers périmés « et du reboot de windows .
Ci-dessous plusieurs infos piochées ça et là.
En résumé si jai bien compris cela signifie que si votre application repère sur votre machine une DLL du runtime (voir définition et liste ci-dessous) plus ancienne que celle que vous voulez installer il lécrit dans un fichier TEMP et à la fin vous demande de rebooter pour mettre à jour. Problème au redémarrage il ne retrouve pas la liste des DLLs à mettre à jour et recommence son cinéma.
Jai fait plusieurs essais notamment en téléchargeant sur microsoft le service pack 6 et le VB6SP6 et le programme vbrun60sp6.exe qui est un programme extractible qui met à jour les DLL du runtime par un simple ShellExecute depuis votre programme dinstallation.
Cela ne marche toujours pas.
Pour contourner ce problème, il faut à mon avis mettre dans le projet les plus vieilles DLL et ocx, ainsi il naura rien à mettre à jour.
Je me propose donc dutiliser une vielle machine sur laquelle je vais installer Windows 98 et jinstallerai juste VB6 original sans surtout mettre à jour les services packs de mise à jour. Ainsi il est probable que mon apllication utilisant les fichiers dorigine , c'est-à-dire les plus anciens, nest pas de problème à linstallation.
Ceci nest que de la théorie, mais je vais essayer.
Ci-dessous des explications prises un peu partout. A vous de voir, il semble quil y est dautres solutions.
ouf
.
Salut,
Il suffit d'avoir un prog d'amorcage (moi j'utilise un self extractor) qui
place toutes les dll du runtime et l'exe ds un repertoire temp, ainsi mon
exe d'installation peut démarrer.
(si tu veux voir ca en fonctionnement :
http://ngsoftfr.free.fr/mirror/sc_setup.exe c'est bien un prog vb qui fait
le boulot :) )
--
Nicolas G. (je lui ai envoyé un mail100 euros)
programmeInnoSetup pour déployer
Kiriasse
01-05-2005, 04:06 PM
Ou bien améliorer le résultat de l'assistant d'empaquetage et déploiement...
Voir http://www.kiriasse.fr/lanceur.html
"Pascal B." <Pascbr@hotmail_ANTISPASM_.com> a écrit dans le message de news:
eAFk3v88EHA.1524@TK2MSFTNGP09.phx.gbl...
> Bonjour Fabrice,
>
> Il existe sur le site de Microsoft un "nouveau" programme de déploiement:
> Installer 1.1 (gratuit !)
> bien plus moderne et également adapté aux projets VB
>
> Pascal B.
Comment Faire un programme dinstallation VB6
| auteur : Romain Puyfoulhoux |
| Vous pouvez utiliser l'assistant d'empaquetage et deploiement. Vous le trouverez dans le gestionnaire des suppléments de Visual Basic, ou dans les programmes du menu Démarrer, dans les outils Microsoft Visual Studio 6.0. Il existe aussi des logiciels commerciaux complets et de bonne qualité, tels ceux édités par les sociétés Installshield et Wise. Et enfin quelques outils gratuits : - Inno Setup : vous permet de créer un programme d'installation personnalisé
- IsTool : interface graphique pour Inno Setup, permet aussi de convertir un fichier setup.lst créé par l'Assistant d'Empaquetage en fichier iss pour Inno Setup
- Visual Studio Installer 1.1 : créateur de programme d'installation, n'existe pas en français
|
Le Run Time de VB6 est constitué de :
Visual Basic 6.0
MSVBVM60.DLL, OLEAUT32.DLL, OLEPRO32.DLL, STDOLE2.TLB, ASYCFILT.DLL, COMCAT.DLL
|
|
| auteur : Romain Puyfoulhoux |
| Ce message a lieu si un ou plusieurs fichiers systèmes à mettre à jour sont chargés en mémoire par Windows au démarrage du système. Le fichier étant chargé en mémoire, Windows doit avoir redémarré pour que la version incluse dans votre setup soit chargée à la place de la version actuelle. Pour éviter ce désagrément, regardez quels sont les fichiers présents dans la section [bootstrap files] du fichier setup.lst. Vous pouvez fournir dans votre setup les versions de ces fichiers qui sont livrées avec VB6, plutôt que les mises à jour qui ont été installées sur votre système. En effet, plus les versions que vous fournirez seront récentes, plus les postes clients devant redémarrer lors de l'installation de votre programme seront nombreux. Les versions incluses dans votre setup sont celles qui sont présentes dans votre répertoire système. Vérifiez aussi dans le fichier setup.lst que le fichier msvcrt.dll n'est pas dans la section [setup1 files] mais [bootstrap files], et déplacez-le dans cette section le cas échéant. |
| Usage : regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname /u - Unregister server /s - Silent; display no message boxes /c - Console output /i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll uninstall /n - do not call DllRegisterServer; this option must be used with /i |
Pour installer ta dll tu fais regsvr32 ta_dll.dll et pour la désinstaller c'est regsvr32 /u ta_dll.dll...