[Inno Setup] Installation ou mise à jours d'un logiciel [Résolu]

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 10 déc. 2008 à 10:14 - Dernière réponse : Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention
- 15 déc. 2008 à 12:39
Bonjour ,
Alors voila je fait en ce moment un setup avec "Inno setup" (en même
temps on ne peut pas faire grand chose d'autre avec ). Mon but est de
crée un écran supplémentaire permettant de soit faire une nouvelle
installation soit de mettre à jour une instance (heeeee une
installation d'un logiciel sur une machine sa s'appel comme sa non ???
).

Ma situation :
Pour ce faire, je crée un écran supplémentaire
demandant quel "instance" du logiciel est à mettre à jour ou si il
s'agit d'une nouvelle installation. Pour tout sa pas de problème.

Mon problème :
- Si je cherche à crée cette écran (Code) à l'évènement "InitializeSetup" j'ai un bug (Bug).
- Et si je crée cette
écran à l'évènement "InitializeWizard" les informations de la partie
"[Setup]" (tél que "AppId") on déjà été lut.
Je ne trouve plus de
solution là .

Code :
  PageInstallMaj := CreateCustomPage(wpWelcome,ExpandConstant('{cm:PageInstallMajTitrePage}'), ExpandConstant('{cm:PageInstallMajDescriptionPage}'))PageInstallMaj := CreateCustomPage(wpPreparing ,ExpandConstant('{cm:PageInstallMajTitrePage}'), ExpandConstant('{cm:PageInstallMajDescriptionPage}'); 

Bug :
 






Exception: Erreur interne : An attempt was made to access WizardForm before it has been created

Amicalement
Pensez "Réponse acceptée"
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 11 déc. 2008 à 10:44
3
Merci
Bonjour,

J'ai trouvé LA solution (avec l'aide de "Cl@udius" de "developpez.com" et de "Dean Earley" de "jrsoftware" qui nous à servie la solution sur un plateau, encore merci à eux deux)

Le AppID est tout simplement re-chargé à chaque événement CurStepChanged. Donc il n'y à rien à faire . Et moi qui me suis pris la tête pandant presque 2 jours..... La honte

Amicalement
Pensez "Réponse acceptée"

Merci Polack77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Polack77
Meilleure réponse
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 15 déc. 2008 à 12:39
3
Merci
Une nouvelle fois salut CodeS-SoucreS-ien (et CodeS-SoucreS-ienne surtout)


J'ajoute quelque info ici car dur dur de les trouvées (finalement la
solution étais encore une fois dans les newsgroup de jrsoftware)

Deux référence à des objets (en lecture écriture du coup) :

L'objet textbox de la form de chois du dossier d'installation

Code :
WizardForm.DirEdit.Text

L'objet textbox de la form de chois du dossier dans le menu démarrer

Code :
WizardForm.GroupEdit.Text

Évidemment modifier ces données et les info qu'utilisera l'installateur seront modifiées


De plus toute les information concernant les installations faite par InnoSetup sont dans la base de registre :

Citation:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppId_is1

Donc avec sa pour retrouvé le dossier d'installation, le groupe
dans le menu démarrer ou toute autre informations concernant les
installations précédentes pas de soucis (il ne faut pas oublier la
fonction RegQueryStringValue qui permet de lire une clef de registre de
type string , ou RegQueryBinaryValue, RegQueryDWordValue, RegQueryMultiStringValue pour les autres type de données)

 Amicalement
Pensez "Réponse acceptée"
<!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-pa

Merci Polack77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Polack77
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 10 déc. 2008 à 10:19
0
Merci
Hé il y à un problème de copier collé dans la partie Code de mon message précédant .
Il faut lire :
PageInstallMaj := CreateCustomPage(wpWelcome,ExpandConstant('{cm:PageInstallMajTitrePage}'), ExpandConstant('{cm:PageInstallMajDescriptionPage}'));
Commenter la réponse de Polack77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.