Re: [Déploiement] Installation silencieuse...

Posté par R&B le 19/7/2006 16:05:01
Quelques avancées sur ce sujet.
J'invite ceux qui se penchent sur le déploiement et le versionning de leurs projet à étudier l'aide de la fonction ExeInfo(). En effet, outre les constantes classiques qui permettent de retrouver la description complete de votre projet, voyez un peu l'utilisation des constantes issues de l'API (Comment, InternalVersion...). Un petit essais avec ces constantes a permis d'avoir par programmation exactement les mêmes informations que celles données par l'exploreur quand on cherche les propriétés d'un fichier, onglet version.

La dernière fois, on a vu comment récupérer la version interne utilisée par le projet en analysant la "VersionVI" de WDxxxVM.dll

Aujourd'hui : il est possible de localiser le framework installé sur le poste client.
Il faut s'avoir qu'il est installé dans le répertoire "C:\Program files\fichier communs\PC SOFT\<version WinDev>\Framework"
Ce qui donne pour un projet en Windev 10 :
C:\Program files\fichier communs\PC SOFT\10.0\Framework

La partie "C:\Program files\fichier communs" est disponible via le code suivant
cRepCommuns = ComplèteRep(SysRep(srProgramFilesCommun))


On peut y lister les répertoire (boucle de fRep) pour aller chercher la plus grande version WinDev et y lire la version interne du framework installé.

La version produit (WinDev) est disponible via :
Info(Exeinfo("ProductVersion",complteRep(fRepEnCours())+"WD100WM.DLL"))



Ainsi, si vous utilisez un pilote d'installation, voici une stratégie pour assurer la mise à jour.

1- le pilote d'installation doit être compilé dans la même version WinDev que le projet à installer. Il doit utiliser sont propre framework.
2- le support d'installation doit contenir l'installtion du framework correspondant (si installation sans téléchargement possible)

Il est alors possible :
- de lire la version WinDev en analysant le WDxxxVM.dll du pilote d'installation (dans le répertoire courant)
- de chercher si un framework correspondant à cette version WinDev est présent sur le poste client et d'en comparer les version interne.
- si nécessaire, il est alors possible, sans poser de question, d'installer/mettre à jour sur le poste client le framework nécessaire à votre projet.


Ainsi, votre projet peut être découpé en plusieurs modules, tous utilisant le même framework dont la mise à jour ou l'installation est assuré par votre pilote d'installation.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4327&post_id=18091