Documentation de xinstall
(c) Divalto
1) Installation d'une application par xinstall
XINSTALL.DHOP permet d'installer une application sous Windows. Pour cela, il lit un fichier qui contient la description de l'application à installer.
Pour qu'une application puisse être installée par xinstall, il faut d'abord classifier l'ensemble des fichiers à copier en trois types.
1) Le type "programmes", concerne les fichiers qui doivent être impérativement installés sur la machine locale.
Ce sont en général des programmes, surtout s'ils sont protégés ou écrits spécialement pour Windows, ou bien des fichiers que vous voulez mettre en local.
2) Le type "fichiers", concerne les fichiers de l'application qui doivent être obligatoirement partagés si la machine est en réseau.
Ce sont en général des fichiers de base de l'application, comme par exemple les fichiers des clients, des articles, des factures, etc
3) Le type "autres", concerne les fichiers qui peuvent être, soit en local (pour plus de rapidité au chargement) , soit sur le réseau (ne prend pas de place sur la machine du client et la mise à jour est unique pour tout le réseau).
Ces trois types sont facultatifs. Dans une application on peut ne pas avoir de type "autres", "fichiers" ou même "programmes". Par exemple les "Sources des masques" sont livrés avec le type "autres", car il n'y a pas de programmes.
La répartition doit se faire sur un cdrom sous un nom de répertoire du disk1 / disk2 / disk3
Chacun des sous répertoire disk1 / disk2 etc , doit contenir un fichier nommé "typedisk".
Ce fichier indique sur la première ligne le type du répertoire et sur la deuxième le numéro d'ordre de celle-ci.
Exemple :
On a une application "GRES Gestion d'un restaurant" qui aura les répertoires:
Disk1 pour les programmes
Disk2 pour les fichiers
Disk3 pour les fichiers autres
On aura donc 3 "typedisk" avec :
pour la première : Programmes
1
pour la deuxième : Fichiers
2
pour la troisième : Autres
3
Disk1 doit contenir en plus le fichier "install.txt", qui permet de décrire l'application
Dans notre exemple, il doit contenir ceci :
[Application]
VersionInstallateur=5.10
versionharmony=6.1
nom=GRES Gestion d'un restaurant
version=1.1
NbDeDisquettes=3
NbDiskProg=1
NbDiskFic=1
NbDiskAutre=1
Reglette=1
VolumeProg=1600
VolumeFic=100
VolumeAutre=200
Commentaire1=
Commentaire2=
Commentaire3=
BibProgrammes=/divalto/resprg
BibFichiers=/divalto/resfic
BibAutres=/divalto/resprg
[CopieRapide]
[PasDeCopie]
Install.txt=parametres de xinstall
typedisk=type du disque
[Windows]
[WindowsSystem]
[HarSys]
[Tester]
;fin du fichier install
Explication des lignes du fichier install
[Application]
-Version minimum que XINSTALL doit avoir pour pouvoir installer cette application. Si le numéro de version de XINSTALL est inférieur à ce numéro, XINSTALL signalera à l'utilisateur qu'il ne peut pas installer cette application.
- Version minimum de Divalto. Si vous utilisez des fonctionnalités d'une version particulière de Divalto, par exemple des nouveaux objets dans xwin, il faut mettre la version minimum de Divalto
VersionHarmony=6.1 - nom de l'application ( lg maxi = 60 caractères)
nom=GRES Gestion d'un restaurant - numéro de version de l'application ( lg maxi = 4 caractères)
version=1.1- nombre de répertoire de l'application et par type de répertoire*
NbDeDisquettes=3
NbDiskProg=1
NbDiskFic=1
NbDiskAutre=1
- nombre de répertoire de l'application et par type de répertoire*
- Affichage de la réglette.
La réglette est la barre en bas de l'écran qui indique l'avancement de la copie.
Si on veut activer cette réglette, il faut mettre "Reglette=1" ainsi que le volume en Kilo-octets, des fichiers à copier pour chaque type de disquettes.
Pour cela, il suffit d'ajouter la taille des fichiers qui se trouvent sur chaque disquette et de diviser le résultat par 1024.
Reglette=1
VolumeProg=1600
VolumeFic=100
VolumeAutre=200
-Commentaires ( lg maxi = 79 ) , on peut afficher trois lignes de commentaires sur la page principale.
Commentaire1=
Commentaire2=
Commentaire3= - Chemin par défaut où xinstall.dhop doit copier les fichiers (lg maxi = 60)
BibProgrammes=/divalto/resprg
BibFichiers=/divalto/resfic
BibAutres=/divalto/resprg
;fin du fichier install
Ajout de commande en plus
On peut créer des raccourcis dans le menu Divalto ou sur le bureau en ajoutant
[Progman]
1=[CreateGroup(Divalto)]
2=[ShowGroup(Divalto,3)]
3=[AddItem($:\divalto\sys\xRtDiva.exe resto,Logiciel Restaurant,,0)]
4=[CreateGroup(Desktop)]
5=[ShowGroup(Desktop,3)]
6=[AddItem($:\divalto\sys\xRtDiva.exe resto.dhop,Logiciel Restaurant,,0)]
Explications - Les lignes ne doivent pas dépasser 250 caractères.
- La création d'un groupe se fait par : [CreateGroup( nom du groupe )]
- Et l'activation d'un groupe se fait par : (affichage en mode 3): [ShowGroup(nom du groupe ,3)]
Si le groupe existe déjà le "Gestionnaire de Programmes" ignore la création et active simplement le groupe. - L'ajout d'un programme dans le groupe actif se fait par :
[AddItem(programme,libell,fich.icone,nu icone,,,path trav,tch,minimize,déscriptif)]
avec :
programme = Nom du programme avec son chemin d'accès plus les paramètres
éventuels à passer à ce programme.
Ici on a lancé l'exécuteur de Divalto, ce programme est toujours xRtDiva.exe et se trouve dans $ :divalto\sys, puis on lancer le menu "resto.dhop", la ligne complète est donc :
Le "$:" représente le disque où se trouve Divalto.
libell‚ = Libell‚ qui se trouve sous l'icone du programme, ici on a:
Logiciel Restaurant
fich.icone= Nom du fichier icone. S'il n'y a pas de valeur, Windows ira chercher l'icone à afficher dans le programme à charger, ici xRtDiva.exe .
On peut mettre un fichier de type ".exe" (progman.exe),".dll" (moricons.dll) ou ".ico" .
nu icone = Numéro d'ordre de l'icone dans le programme à partir de 0.
La première icone porte le numéro 0, la deuxième le numéro 1, etc.
path trav = Chemin de travail du programme s'il est différent de celui où se trouve le programme à charger.
tch = Touche d'appel. Le codage est le suivant :
la touche SHIFT = 256
la touche CTRL = 512
la touche ALT = 1024
+ valeur du caractère
Par exemple, si on veut ALT + SHIFT + A soit : 1024+256+65 alors il faut mettre la valeur 1345 à la place de "tch".
minimize = 0 -> Chargement normal du programme.
1 -> On demande au programme de se mettre sous forme d'icone au chargement.
Descriptif = Descriptif du raccourci, c'est une texte qui sera affiché lorsque la souris se trouvera
sur ce raccourci.
Autre exemple , ici on va chercher l'icône 23 ( 24 pour Divalto ) qui se trouve dans le programme « progman.exe »
[AddItem($:\divalto\sys\xRtDiva.exe resto.dhop &0 24 progman.exe,Logiciel Restaurant,progman.exe,23)] - Fichiers pilotes avant et après l'appel à la régénération des clés
Lorsque XINSTALL copie un fichier séquentiel indexé, il génère une ligne de pilotage pour régénérer les clés du fichier.
A la fin de la copie des disquettes, XINSTALL génère le fichier de pilotage qui va contenir les commandes pour régénérer les clés des séquentiels indexés.
Pour cela, il copie les lignes de pilotage qui se trouvent dans le fichier indiqué sous "PiloteDebut", puis les lignes de commandes de régénération des clés des séquentiels indexés et enfin les lignes de pilotage qui se trouve dans le fichier indiqu‚ sous "PiloteFin".
On peut donc faire un traitement avant et après la régénération des clés, par exemple lancer un programme de mise à jour des clés d'un fichier ou un programme de paramétrage de l'application.
S'il n'y a pas de fichier pilote après "PiloteDebut" et "PiloteFin" et pas de fichiers séquentiels indexés à régénérer, XINSTALL revient simplement à la question "Programme".
ATTENTION : Les fichiers pilotages doivent être sur la première disquette, car XINSTALL regarde si on a renseigné les lignes "PiloteDebut" et "PiloteFin" et recopie ces fichiers dans /divalto/sys
Par défaut, il n'y a pas de pilote début et fin.
PiloteDebut=
PiloteFin= - Mise à jour des groupes du "Gestionnaire de Programmes".
Ce fichier doit contenir les ordres qui vont ajouter un groupe ou une icone dans le "Gestionnaire de Programmes". Ce fichier est exécuté si l'utilisateur spécifie qu'il s'agit d'une nouvelle installation.
Voir plus loin la description des ordres pour le "Gestionnaire de Programmes".
ATTENTION : Ce fichier doit être aussi sur la première disquette, et sera copié dans /divalto/sys.
Progman=harwin1 - Paramétrage des fichiers .ini
Ce fichier doit contenir les ordres pour ajouter des informations dans des fichiers ".ini" si l'utilisateur spécifie qu'il s'agit d'une nouvelle installation.
Voir ci après la description des ordres pour ajouter des lignes dans des fichiers ".ini" .
ATTENTION : Ce fichier doit être aussi sur la première disquette, et sera copié dans /divalto/sys.
Ici il n'y a pas de fichier de mise à jour des fichiers ".ini".
FichierIni= - Liste des fichiers à copier obligatoirement en mode "rapide", c'est à dire comme une copie par "copy" de MS-DOS.
Mettre ici tous les fichiers spécifiques à Windows.
Dans ce type de liste, on peut mettre : - soit une extension de fichier comme par exemple ".bmp", ainsi tous les fichiers dont l'extension est ".bmp" seront automatiquement pris en compte.
- soit le nom complet d'un fichier, avec son extension s'il y en a une, par exemple "typedisk" ou " DhInstall.dll", dans ce cas, sera simplement pris en compte la fichier indiqué
A la suite de l'extension ou du nom du fichier, n'oubliez pas le "=" sinon XINSTALL ne pourra pas y accéder.
Après le "=", vous pouvez mettre un commentaire, celui-ci est ignoré par XINSTALL.
[CopieRapide]
.fon=fontes
.exe=executables
.dll=librairies
.bmp=bitmap
.ico=icones
.d=texte des .exe
.com=executables
.hlp=aide
.ini=fichier ini
.bat=fichier batch - liste des fichiers qu'il ne faut pas copier
[PasDeCopie]
Install.txt=parametres de xinstall
typedisk=type du disque - Liste des fichiers à mettre obligatoirement dans le répertoire de windows.
[Windows]
.ini=fichier .ini - Liste des fichiers à mettre obligatoirement dans le répertoire windows\system
[WindowsSystem]
.fon=fontes - Liste des fichiers à mettre obligatoirement dans le répertoire /divalto/sys.
[HarSys]
.exe=executables
.dll=module
.bmp=bitmaps
.ico=icones
.d=texte des .exe
.com=executables
.hlp=aide
.bat=batch
stystd=feuille de styles
stystdd=feuille de styles
harwin1=maj du gestionnaire de programmes
mettre aussi le nom des fichiers qui se trouvent après "PiloteDebut" , "PiloteFin" , "FichierIni" et "Progman". - Liste des fichiers que XINSTALL doit tester.
Ainsi, si le fichier existe déjà XINSTALL demande à l'utilisateur s'il veut le copier.
XINSTALL teste toujours la présence des fichiers séquentiels indexés, c'est comme s'ils faisaient partie automatiquement de cette liste.
Par contre, il faut mettre ici les fichiers qui ne sont pas des séquentiels indexés et dont on veut tester la présence avant de les copier.
[Tester]
; fin du fichier install
3) Description d'un fichier de mise à jour de fichier de type ".ini"
Dans l'exemple du logiciel de gestion de restaurant, il n'y a pas de mise à jour de fichier de type ".ini".
Si on doit mettre à jour des fichiers de type ".ini" il faut créer un fichier contenant pour chaque ligne les ordres suivants :
nom du fichier ".ini" , nom du chapitre , mot clé=valeur
exemple :
divalto.ini,paramFihwgra,PoliceAnsi=1
9) Nouveaux chapitres
Lorsqu'un fichier existe déjà, xinstall demande s'il faut le copier. On peut forcer la copie ou non de certains fichiers avec les chapitres suivants :
[RemplacementToujours]
;exemple
fdd=
fddd=
Ce chapitre indique que ces fichiers seront TOUJOURS copiés, même s'ils existent
Xinstall ne pose donc pas la question "Ce fichier existe déjà, voulez vous le copier ? " pour les fichiers qui se trouvent dans ce chapitre.
[RemplacementJamais]
;exemple
stystd=
stystdd=
Ce chapitre indique que ces fichiers ne seront JAMAIS copiés s'ils existent. Ils seront copiés seulement s'ils n'existent pas.
Xinstall ne pose donc pas la question "Ce fichier existe déjà, voulez vous le copier ? " pour les fichiers qui se trouvent dans ce chapitre.
[Application]
PasDeQuestions=1
Dans le chapitre [Application], on peut mettre ce mot clé : PasDeQuestions=1
Dans ce cas, xinstall considère, par défaut, que l'utilisateur a répondu "Oui" … la question "Ce fichier existe déjà, voulez-vous le copier ? " ainsi qu'à la question "Les clés de xxx sont différentes de yyy. Mise à jour des clés ? ".
Si vous voulez adapter la réponse en fonction des fichiers, il faut remplir les chapitres [RemplacementToujours] et [RemplacementJamais] avec la liste des fichiers qu'il faut toujours copier et celle des fichiers qu'il ne faut jamais copier s'ils existent.
Si un fichier n'est pas dans l'une ou l'autre liste, la réponse sera par défaut "voulez-vous le copier ? " : OUI
Dans le chapitre [Application], on peut mettre ces mots clé :
[Application]
PasDeCopieProgSiMaj=1
PasDeCopieFicSiMaj=1
PasDeCopieAutreSiMaj=1
Dans les mots clé BibProgrammes, BibFichiers, BibAutres, on met le nom des bibliothèques ou le chemin que xinstall doit utiliser par défaut.
Toutefois, si l'utilisateur répond non à la question "Première installation", indiquant ainsi qu'il s'agit d'une simple mise à jour, on peut forcer xinstall à ne pas copier les programmes et/ou les fichiers et/ou les fichiers de types autres.
Dans ce cas, xinstall efface les lignes "Bibliothèque programmes" et/ou "Bibliothèque fichiers" et/ou "Bibliothèque autres".
Certains produits doivent, toujours être installés sur le même répertoire.
Exemple : pour un produit de démonstration qui n'est utilisable qu'en local, il peut être intéressant de toujours le copier dans la bibliothèque "/divalto/demo" et que l'utilisateur n'ait rien à faire.
Dans ce cas, il faut mettre dans le chapitre
[Application]
PasDeSaisie=1
l'utilisateur ne peut plus rien modifier
Toutefois, il faut tester si c'est la première installation ou s'il s'agit d'une simple mise à jour pour cela, il faut donner à xinstall un ou plusieurs fichiers à tester grâce au chapitre :
[SimpleMajSiExiste]
fichier à tester=
exemple :
[SimpleMajSiExiste]
/divalto/sys/progdem.dhop=
Si le fichier progdem.dhop existe alors xinstall passe en mode simple mise à jour , sinon xinstall passe en mode première installation.
10) Nouveaux chapitres pour xinstall 5.10A partir de xinstall 5.10 , on peut mettre le contenu du fichier indiqué dans Progman et FichierIni directement dans le fichier install.
[FichierIni]
1= ...
2= ...
11) Nouveaux chapitres pour xinstall 5.11Pour utiliser les nouveaux mots clés de xinstall 5.11, il faut d'abord mettre
[Application]
VersionInstallateur=5.11Ceci indique que ce produit ne peut être installer qu'avec la version 5.11 de xinstall.
Dans ce nouveau xinstall, on à ajouté un nouveau type de « disquette » le type « Images ».
Il faut ajouter dans le chapitre [Application]
NbDiskImage= nombre de « disquette »
VolumeImage=volume en k octets de la « disquette »
BibImages = bib/ul ou chemin où doit être copier les fichiers
Par défaut xinstall affiche : « Bib/ul » des fichiers images » ou « Chemin des fihiers images »
On peut remplacer le texte « des fichiers images » par un autre libellé, xinstall ajoute automatiquement le texte « Bib/ul » ou « Chemin » devant votre libellé selon que les noms des fichiers soit en mode « court » ou « long ».
Exemple :LibImages = des fichiers images gif , tif et bmp
ouLibImages = des fichiers excel et word
etc.
Il faut alors créer un nouveau répertoire DISKn en mettant un fichier TYPEDISK avec les deux lignes :
Images
numéro de la « disquette »Exemple : si la disquette est la 4éme, il faut alors mettre dans TYPEDISK
Images
4
ATTENTION :
La gestion du type de disque « Images » est particulière, elle ne passe pas par la recherche dans les chapitres :
; fichiers à mettre dans le répertoire windows
[Windows]
; fichiers à mettre dans le répertoire windows système
[WindowsSystem]
; fichiers à mettre dans le répertoire har\sys
[HarSys]
Les fichiers sont donc TOUJOURS copier dans la bib/ul ou le chemin indiqué dans le mot clé BibImages.
En effet, on trouve , par exemple dans le chapitre [HarSys]
.bmp=fichier bmp
Les fichiers de type .bmp qui se trouve dans les « disquettes » de type *Programmes, Fichiers ou Autres seront donc toujours copiés dans divalto\sys.Par contre les fichiers de type .bmp qui se trouve dans la « disquette » de type *Images seront toujours copiés dans la bib/ul ou dans le chemin déclaré par mot clé BibImages.
De même que qu'il existe :
PasDeCopieProgSiMaj=1
PasDeCopieFicSiMaj=1
PasDeCopieAutreSiMaj=1
Il existe aussi, si l'on ne veut pas de copie si on est en mode « simple mise à jour » le mot clé :PasDeCopieImageSiMaj=1
Nouveau mot clé dans le chapitre [Application]
Ansi=1
A l'origine, le fichier install , harwin1, pcopy etc, étaient saisie par xed, le jeu de caractère utilisé était donc du type PC8.
On peut désormais saisir et modifier le fichier install, harwin1,pcopy, etc, par wordpad. Pour cela il faut ajouter le mot clé ansi=1 afin d'indiquer à xinstall que tous ces fichiers sont en mode ANSI et non plus en mode PC8.
Attention, dans ce cas il faut vérifier que tous les fichiers de l'installateur ( install, harwin1, pcopy, etc ) sont donc bien en mode ANSI.