[Inno Setup] Install programme VB... Marche pô

Install programme VB... Marche pô [Inno Setup] - Shell/Batch - Programmation

Marsh Posté le 03-05-2004 à 16:53:18    

J'ai fait un programme VB6.
 
J'ai créé un script Inno Setup pour installer la bestiolle chez les utilisateurs.
 
Et ça merde.
 
J'ai systématiquement un message comme quoi il est impossible d'enregistrer la DLL sur la machine (pour chaque DLL)... Il vient d'où ce problème ?
 
Ci-dessous mon script :
 

Code :
  1. ; Script generated by the Inno Setup Script Wizard.
  2. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
  3. [Setup]
  4. AppName=Mobile MID
  5. AppVerName=Mobile MID Alpha version
  6. AppPublisher=GE MED Europe Accessories & Supplies
  7. AppPublisherURL=http://www.gemedicalsystemseurope.com/
  8. AppSupportURL=http://www.gemedicalsystemseurope.com/
  9. AppUpdatesURL=http://www.gemedicalsystemseurope.com/
  10. DefaultDirName={pf}\Mobile MID
  11. DefaultGroupName=GEMSE A&S
  12. AllowNoIcons=yes
  13. PrivilegesRequired=admin
  14. [Tasks]
  15. ; NOTE: The following entry contains English phrases ("Create a desktop icon" and "Additional icons" ). You are free to translate them into another language if required.
  16. Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"
  17. ; NOTE: The following entry contains English phrases ("Create a Quick Launch icon" and "Additional icons" ). You are free to translate them into another language if required.
  18. Name: "quicklaunchicon"; Description: "Create a &Quick Launch icon"; GroupDescription: "Additional icons:"; Flags: unchecked
  19. [Files]
  20. ; begin VB system files
  21. ; (Note: Scroll to the right to see the full lines!)
  22. Source: "D:\share\vbfiles\stdole2.tlb";  DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regtypelib
  23. Source: "D:\share\vbfiles\msvbvm60.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  24. Source: "D:\share\vbfiles\oleaut32.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  25. Source: "D:\share\vbfiles\olepro32.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  26. Source: "D:\share\vbfiles\asycfilt.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile
  27. Source: "D:\share\vbfiles\comcat.dll";   DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  28. ; end VB system files
  29. Source: "d:\docs\Bureau\MID_offline\setup\Mobile MID.exe"; DestDir: "{app}"; Flags: ignoreversion
  30. Source: "d:\docs\Bureau\MID_offline\setup\documents\*.*"; DestDir: "{app}\documents"; Flags: ignoreversion recursesubdirs
  31. ; A partir de là, y'a pas une ligne qui marche
  32. Source: "D:\share\vbfiles\SCRRUN.DLL";   DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  33. Source: "D:\share\vbfiles\VB6FR.DLL";    DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  34. Source: "D:\share\vbfiles\MSCOMCTL.OCX"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  35. Source: "C:\WINNT\system32\MSWINSCK.OCX"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  36. Source: "D:\share\vbfiles\SCRRNFR.DLL";  DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  37. Source: "D:\share\vbfiles\WINSKFR.DLL";   DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  38. Source: "D:\share\vbfiles\MSVCRT.DLL";   DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  39. Source: "D:\share\vbfiles\MSCMCFR.DLL";  DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall sharedfile regserver
  40. ; après ça remarche...
  41. ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
  42. [INI]
  43. [Icons]
  44. Name: "{group}\Mobile MID"; Filename: "{app}\Mobile MID.exe"
  45. Name: "{group}\MID Documents"; Filename: "{app}\documents"
  46. ; NOTE: The following entry contains an English phrase ("Uninstall" ). You are free to translate it into another language if required.
  47. Name: "{group}\Uninstall Mobile MID"; Filename: "{uninstallexe}"
  48. Name: "{userdesktop}\Mobile MID"; Filename: "{app}\Mobile MID.exe"; Tasks: desktopicon
  49. Name: "{userdesktop}\MID Documents"; Filename: "{app}\documents"; Tasks: desktopicon
  50. Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Mobile MID"; Filename: "{app}\Mobile MID.exe"; Tasks: quicklaunchicon
  51. [Run]
  52. ; NOTE: The following entry contains an English phrase ("Launch" ). You are free to translate it into another language if required.
  53. Filename: "{app}\Mobile MID.exe"; Description: "Launch Mobile MID"; Flags: nowait postinstall skipifsilent
  54. [UninstallDelete]


 
(en commentaire l'endroit où ça merde)
 
Il en résulte que le programme une fois installé ne fonctionne pas :sweat:  
 
Programme fait en VB6 FR SP5
Doit tourner sur des Windows 2000 Pro US SP4 principalement (et quelques Win98US)

Reply

Marsh Posté le 03-05-2004 à 16:53:18   

Reply

Marsh Posté le 03-05-2004 à 16:59:36    

:heink:
 
j'ai presque tout mis en commentaire et ça à l'air de marcher :heink:
 
bon, je reviens si ça continue à merde, je fais des tests sur les machines utilisateurs :D

Reply

Marsh Posté le 03-05-2004 à 17:12:50    

regserver ça se fait sur des composants COM.
Donc déjà pas sur les dll genre MSVCRT.DLL.
Après sir tu mets en comment ça va avoir l'air de marcher oui...
Si le mec il a pas VB sur ça bécanne, ça av surement être autre chose.

Reply

Marsh Posté le 03-05-2004 à 17:36:13    

les deux fichiers OCX devraient toutefois garder leur attribut regserver. Pour le reste, je ne sais pas. Suffit de faire un regsrv manuel sur chaque fichier pour en être sûr (méthode bourrin [:ddr555])  Si ça te répond "Entry point was not found", ce n'est pas du COM et il ne faut pas d'attribut regserver.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 04-05-2004 à 11:07:27    

Du nouveau.
 
Les trucs que j'ai mis en commentaire sont pas gênant, à priori c'est des dll de debug de VB, ou des messages en Français (m'en fout c'est une appli internationnale, donc EN-US uniquement)
 
Par contre, ça plante toujours sur MSXML3.DLL
 
Et ça par contre ça pose problème (très grave problème même) puisque le programme ne peut pas démarrer sans cette DLL.
 
Comment faire pour la distribuer ?
 
Sur la page de dwl chez MS, il y a un fichier mms ou mss je sais plus quoi, qui est prévu pour "être déployé avec votre application". J'en déduis ce que je pensais déjà mais qu'on m'avait infirmé, que MSXML ne peut être distribué en petits bout, et nécessite une install à part entière.
 
Comment intégrer de programme à InnoSetup ? J'ai pas bien compris comment faire dans la doc :/

Reply

Marsh Posté le 04-05-2004 à 11:09:14    

Voilà, c'est là :
 
http://www.microsoft.com/downloads [...] layLang=en
 

Citation :

Use msxml3msms.exe to download the redistributable merge modules (*.msm) to distribute with your application setup.
 
msxml3msms.EXE    974 KB


Message édité par Arjuna le 04-05-2004 à 11:09:27
Reply

Marsh Posté le 04-05-2004 à 11:09:20    

aaaaaah la MSXML3.DLL n'est distribuée qu'avec IE. Donc la logique voudrait que tu installes la dernière version d'IE avant ton application, car elle repose sans doute (je dirais même certainement) sur d'autres compos d'IE, ce qui expliquerait ton problème.


Message édité par drasche le 04-05-2004 à 11:09:39

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 04-05-2004 à 11:10:41    

drasche a écrit :

aaaaaah la MSXML3.DLL n'est distribuée qu'avec IE. Donc la logique voudrait que tu installes la dernière version d'IE avant ton application, car elle repose sans doute (je dirais même certainement) sur d'autres compos d'IE, ce qui expliquerait ton problème.

Impossible de mettre à jour IE, il s'agit de IE 5.5 SP2, c'est décidé niveau corporate, et il est impossible de le mettre à jour (j'ai essayé un coup, 5 minutes après, mon PC reboot, j'ai ghost qui démarre et qui restore le master corporate - super j'ai perdu tous mes documents :bounce: -)

Reply

Marsh Posté le 04-05-2004 à 11:11:13    

Je crois que c'est pour faire des msi ton merge module.
"ça plante" : c'est le regserver qui plante ? M'étonnerais pas sur le parser dll.
Vire regserver et test à nvx.

Reply

Marsh Posté le 04-05-2004 à 11:12:06    

-- Edit : tiens ma machine de test c'est un SP1 :heink:
 
M'enfin c'est un serveur, c'est peut-être pour ça qu'il se remasterise pas tout seul ^^
 
En tout cas, pour le déploiement final, j'ai pas le choix, faut pas que je touche à IE :sweat:

Reply

Marsh Posté le 04-05-2004 à 11:12:06   

Reply

Marsh Posté le 04-05-2004 à 11:13:18    

HelloWorld a écrit :

Je crois que c'est pour faire des msi ton merge module.
"ça plante" : c'est le regserver qui plante ? M'étonnerais pas sur le parser dll.
Vire regserver et test à nvx.


J'essaie (mais j'en doute) car il copie le fichier avant de faire le regserver, et la présence de la DLL ne suffit pas...

Reply

Marsh Posté le 04-05-2004 à 11:15:50    

je vais tâcher de retrouver un mail... j'ai dû faire une intervention un jour sur le portable d'un client, il lui manquait MSXML3.DLL il me semble, et j'ai bricolé comme j'ai pu (me rappelle plus des détails [:joce]) pour le lui installer avec les dépendances pour arriver à activer une fonctionnalité de notre application.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 04-05-2004 à 11:19:57    

j'ai retrouvé le mail: en plus de MSXML3.DLL, il a fallu que j'installe MSXML3A.DLL et MSXML3R.DLL (ces deux dernières ne sont pas des DLLs ActiveX donc par de regserver pour celles-là). MSXML3.DLL est une DLL ActiveX, il faut donc un attribut regserver.
 
Ne perd pas de vue qu'il s'agit de composants systèmes et que tu as intérêt à tester à fond ton déploiement + les applis existantes sur la machine pour vérifier qu'il n'y a pas de problème.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 04-05-2004 à 11:36:37    

OK, je regarde si ça marche comme ça :)

Reply

Marsh Posté le 04-05-2004 à 12:06:34    

Bon, ben ça marche ! :)
 
Merci :jap:
 
Reste plus qu'à tester sur un panel de PC utilisateurs...

Reply

Marsh Posté le 05-08-2004 à 11:41:14    

Bonjour,
voila j'ai le meme probleme avec la dll msxml3.dll.
J'ai donc recuperer les dll en question (a et r) mais cela ne change rien.
Je developpe sur un XP et l'Os sur lequel cela ne focntionne pas est un NT4.
L'erreur que vb me retourne est 429: le composant activex ne peut créer l'objet. Il semble que je ne puisse pas enregistré la dll sous NT4 car apres recherche dans le registre, installation de msxml3.msi, IE5.5 et un essai d'enregistrement via regsvr32 a la main ... rien a faire :(
quelqu'un aurait il une idée, merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed