IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Delphi Discussion :

[InnoSetup] Message d'avertissement


Sujet :

Outils Delphi

  1. #1
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut [InnoSetup] Message d'avertissement
    Bonjour,

    dans mon script d'installation InnoSetup, à la fin de la compilation j'ai ce message d'avertissement :

    Warning: The [Setup] section directive "PrivilegesRequired" is set to "admin" but per-user areas (userappdata) are used by the script. Regardless of the version of Windows, if the installation is running in administrative install mode then you should be careful about making any per-user area changes: such changes may not achieve what you are intending. See the "UsedUserAreasWarning" topic in help file for more information.
    Je ne sais pas trop ce que cela sous-entend et si c'est grave ?

    Effectivement j'ai mis PriviligesRequired à admin (je ne sais plus pourquoi !)

    A+
    Charly

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Ces données ne seront accessibles que par l'admin qui a lancé l'installation ce qui est un problème si la station est partagée par plusieurs utilisateurs. Il faut plutôt choisir ProgramData s'ils doivent tous avoir accès à des données communes.

    Si le but est de fournir une préconfiguration que chaque utilisateur peut ensuite modifier à sa guise (changer le thème par exemple) on passerait-là plutôt par Active Setup ; un utilitaire lancé à chaque login qui recopie (ou met à jour) depuis des données de base.
    Une autre technique est que l'app elle-même procède à ce contrôle au démarrage. Delphi le fait par exemple avec la base des registres qui est recopiée de HKLM vers HKCU.

    Difficile d'en dire plus sans script.

  3. #3
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    Merci Andnotor,

    voici le script :

    Script.zip

    Je pense donc que je n'ai pas besoin d'installer en mode admin ?
    cela me servirait à quoi ?

    A+
    Charly

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Admin est requis si tu veux installer sous Program Files, ce qui serait plus standard. Mais dans ce cas tout ce qui est éditable devrait être sous Program Data et ce répertoire accessible en écriture :
    Code inno : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Dirs]
    Name: "{commonappdata}\Merlin\"; Permissions: users-modify

    Sinon tu compliques beaucoup.

    DefaultDirName : inutile de lire toi-même dans la BdR. En cas de mise à jour le chemin précédent est automatiquement récupéré depuis HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Merlin. De plus il ne devrait pas être redemandé dans ce cas.

    [Files] : les images utilisées pas l'installateur sont automatiquement incluses.

    [Dirs] : uniquement pour des répertoires non créés par [Files].

    [CustomMessages] : les textes standards peuvent être directement récupérés depuis les fichiers isl.
    Code inno : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Tasks]
    Name: "desktopicon"; Description: {cm:CreateDesktopIcon}; Flags: unchecked

    Tu réinventes carrément la roue pour la sélection de la version alors qu'il y a la section [Components] :
    Code inno : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Components]
    Name: V2; Description: "Merlin {#V2}"; Flags: exclusive
    Name: V3; Description: "Merlin {#V3}"; Flags: exclusive

    Et la logique est de conditionner la version que tu veux extraire (même principe aussi pour les autres sections)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Files]
    Source: "InstallDir\{#ExeV2}"; DestDir: "{app}"; Components: V2
    Source: "InstallDir\{#ExeV3}"; DestDir: "{app}"; Components: V3

  5. #5
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    Merci beaucoup pour toutes ces remarques.

    Je vais examiner tout ceci à la loupe et modifier mon script

    je vais installer dans program Files, mais j'aimerais laisser le choix à l'utilisateur (sur un autre disque que C par exemple)
    Je pense que c'est le cas avec permission : user-modify ?

    A+

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Les permissions sont nécessaires pour Program Data puisque c'est un répertoire en lecture seule. Il ne devrait pas y avoir de soucis sur un autre disque.

    Et si tu veux pouvoir choisir les deux répertoires (app + données), ajoute une page TInputDirWizardPage.

  7. #7
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    J'ai uniquement besoin que l'utilisateur puisse changer le nom du répertoire des exe : {app}
    Les fichiers de temp : {userappdate} sont internes et utilisés par les exe. Les exe doivent pouvoir y lire et y écrire

    A+
    Charly

  8. #8
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    rebonjour Andnotor,

    j'ai essayé quelques modif, mais je n'ai pas tout compris !


    DefaultDirName : Ok, j'ai supprimé la ligne

    [Files] : les images utilisées pas l'installateur sont automatiquement incluses. Oui, mais ce sont mes propres images et non les images standards.

    [Dirs] : uniquement pour des répertoires non créés par [Files]. Ok, pour les répertoires projet et temp

    [CustomMessages] : les textes standards peuvent être directement récupérés depuis les fichiers isl.
    Ok, mais cela me permet de modifier facilement mes messages

    [Components] : je peux créer des components, mais je ne vois pas trop comment les utiliser dans [Files] par exemple,
    j'installe tout le contenu des répertoires pour les 2 versions (comme ça, l'utilisateur dispose
    des 2 exe, même si une seule version est installée complètement
    Effectivement, ça peut me servir dans [Icons], [Run] et [Registry]
    là ça simplifie ( évite les ShouldRun)

    Je pourrai enlever la fonction ShouldRun ?

    A+
    Charly

  9. #9
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Citation Envoyé par Charly910 Voir le message
    DefaultDirName : Ok, j'ai supprimé la ligne
    Pas supprimer complètement hein !
    Code inno : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultDirName={autopf}\Lapaille\Merlin

    Citation Envoyé par Charly910 Voir le message
    [Files] : Oui, mais ce sont mes propres images et non les images standards.
    Aucune différence ! le compilateur inclut d'office ce dont il a besoin, [Files] ne contient que ce qui est nécessaire à ton application.

    Citation Envoyé par Charly910 Voir le message
    [CustomMessages] : Ok, mais cela me permet de modifier facilement mes messages
    Donne au moins à ces variables un nom compréhensible.

    A noter que ExpandConstant('{cm:Mess01}') peut aussi s'écrire CustomMessage('Mess01').


    Citation Envoyé par Charly910 Voir le message
    Je pourrai enlever la fonction ShouldRun ?
    Oui ainsi que CreateInputOptionPage.

    Et à quoi sert cette barre de progression qui tourne dans le vide pendant 3 secondes ?

  10. #10
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    Merci Andornot, je comprends mieux !

    Et à quoi sert cette barre de progression qui tourne dans le vide pendant 3 secondes ?
    à faire joli

    Je vais modifier en conséquence, mais avec [component] je dois enlever mon écran personnalisé. J'aimais bien mes écrans personnalisés

    A+
    Charly

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Il n'y a aucune obligation, tu fais comme tu veux

  12. #12
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 008
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 008
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    [Files] ne contient que ce qui est nécessaire à ton application.
    A une exception tout de même : si une bibliothèque externe est utilisée par l'installateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Files]
    Source: "MySetup.dll"; Flags: dontcopy
     
    [Code]
    procedure MyProc; external 'MyProc@files:MySetup.dll';
    C'est parfois plus simple de créer sa propre DLL en Delphi plutôt que de s'amuser avec le Pascal limité de Inno Setup

  13. #13
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 602
    Par défaut
    Merci beaucoup pour ces conseils Andnotor, j'avais vu sur des posts précédents que tu était un crack en Innosetup (entre autre !)

    A+
    Charly

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer message d'avertissement windows
    Par Ps4 dans le forum Access
    Réponses: 16
    Dernier message: 07/10/2005, 09h48
  2. message d'avertissement
    Par Art19 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/07/2005, 11h01
  3. message d'avertissement "unchecked call"
    Par mavina dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 28/04/2005, 15h04
  4. Message d'avertissement requete de mise à jour
    Par Buffiere dans le forum Access
    Réponses: 4
    Dernier message: 24/01/2005, 10h20
  5. [Kylix] Message d'avertissement GPL Kylix OE
    Par fred78 dans le forum EDI
    Réponses: 5
    Dernier message: 30/11/2002, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo