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

C# Discussion :

Wizard d'install simulé


Sujet :

C#

  1. #1
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut Wizard d'install simulé
    Bonjour, je dois, en 2 jours, créer un programme qui fait ce que ferait un humain qui installe un programme (cliquer sur suivant, passser les paramètres etc.). Le but est que l'utilisateur n'aie qu'une seule action à effectuer et que tout le wizard d'install se droule pendant qu'il est ailleur.

    Mon problème est que je en sais pas comment m'y prendre. Je n'ai pas de piste. Si quelqu'un a une idée, je suis prenneur.
    Merci

  2. #2
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Salut.

    Je dirais que cela dépend de l'application que ton wizard a à installer (le but est-il d'installer n'importe quelle application ? As-tu la main sur ces applications ?). Une piste pour moi serait de s'inspirer des "silent install" (installations silencieuses en FR), avec comme exemple pour illustrer mon propos un produit comme SQL Server :

    • tu peux l'installer en faisant la procédure "classique" à base de clics et boutons "Suivant" ;
    • ou alors tu peux faire une "silent install" : tu crées (générerais dans ton cas) un fichier de configuration au format attendu par l'installeur de SQL Server, et tu le passes en argument de ce dernier (ex. : "installSQLServer.exe myConf.ini"). En gros, un fichier, un clic et tu vas boire un café .

    Cordialement.

  3. #3
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    le silent install, c'est un peu ça qu'on me demande. 9a doit marcher avec n'importe que programme. En gros j'indique le chemin du programme à installer, sa destinnation et roule !

  4. #4
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    J'ai essayé ce qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                ProcessStartInfo startInfos = new ProcessStartInfo();
                Console.WriteLine("Nom complet qualifié de l'application à installer");
                startInfos.FileName = @"C:\Users\Admin\Documents\Visual Studio 2010\Projects\TestInstallationAuto\Setup1\Debug\setup1.msi";
                startInfos.WorkingDirectory = "@c:\temp";
                Console.WriteLine(startInfos.FileName);
                startInfos.Arguments = "MSIEXE /i \"" + startInfos.FileName + "\" /passive";
                Process.Start(startInfos);
                Console.ReadKey();
    sans réel succès. mon code fini par m'ouvrir une fenêtre indiquant les paramètres à utiliser avec windows installer.

    Une idée ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Il me semble que InnoSetup permet de faire ça.

    J'ai trouvé un lien sur le site (il y a peut-être des tuto plus récents, complets sur cet outil, à voir) :
    http://thierryaim.developpez.com/tut...tup/isdistrib/

    A vérifier, mais il me semble que dans la section Run du fichier de configuration, tu peux spécifier l'exe (ou .msi, .bat, etc...) que tu veux installer avec les paramètres qui vont bien (chemin d'install, etc...).
    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Run]
    ; installation silencieuse de .NET
    Filename: "{src}\client\dotnetfx35.exe"; Parameters: " /q /lang:FRA /nopatch"; StatusMsg: "Installation du Framework .net"; Components: net; Flags: skipifsilent
    Est-ce que cet outil ne répondrait pas à ton besoin ?



    ps: pour ta question, est-ce que sans MSIEXE dans la ligne d'argument, ça ne va pas mieux ?

  6. #6
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par kheironn Voir le message
    sans réel succès. mon code fini par m'ouvrir une fenêtre indiquant les paramètres à utiliser avec windows installer.
    Citation Envoyé par binoo Voir le message
    A vérifier, mais il me semble que dans la section Run du fichier de configuration, tu peux spécifier l'exe (ou .msi, .bat, etc...) que tu veux installer avec les paramètres qui vont bien (chemin d'install, etc...).
    Voilà en quoi ta problématique est à mes yeux tout de même complexe (tout ça pour dire que deux jours de réalisation, ça me paraît assez irréaliste).

    Chaque application s'installe de façon différente, attend des paramètres différents : donc pour chacune d'elle tu vas être obligé de faire une étude afin de savoir quels paramètres sont attendus et ainsi permettre à ton outil de générer ce qu'il faut . Genre tu étudies une application X, tu en sors un fichier de configuration X que tu passes à ton outil en entrée qui ensuite est capable de générer les paramètres attendus.

    Mais sans vouloir paraître pessimiste, le super outil qui installe n'importe quelle application existante de façon transparente et générique sans étude préalable de la dite application (et toujours avec ton délai de réalisation), ça me paraît difficile .

  7. #7
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    En fait, c'est un POC lancé par ujn directeur de projet. Je dois savoir si c'est réalisable, si oui à quelles conditions, sinon pourquoi.

    Mais, déjà les difficultés sont nombreuses...

  8. #8
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par kheironn Voir le message
    En fait, c'est un POC lancé par ujn directeur de projet. Je dois savoir si c'est réalisable, si oui à quelles conditions, sinon pourquoi.
    Si ça peut t'aider, un tel produit (développé en interne) est en place chez le client chez qui je suis actuellement, donc c'est réalisable. L'utilisateur lambda n'a pas les droits pour installer quoi que ce soit sur sa machine, tout est télé-distribué : Mme Michu a besoin de Word, on "l'abonne" et du coup ça s'installe sur sa machine sans qu'elle ne s'en rende compte.

    Par contre, ce produit suit les contraintes que je t'ai exposées plus haut : toute nouvelle application doit être étudiée puis enregistrée pour que l'outil de télé-distribution la prenne en charge .

  9. #9
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Citation Envoyé par _Max_ Voir le message
    Si ça peut t'aider, un tel produit (développé en interne) est en place chez le client chez qui je suis actuellement, donc c'est réalisable. L'utilisateur lambda n'a pas les droits pour installer quoi que ce soit sur sa machine, tout est télé-distribué : Mme Michu a besoin de Word, on "l'abonne" et du coup ça s'installe sur sa machine sans qu'elle ne s'en rende compte.

    Par contre, ce produit suit les contraintes que je t'ai exposées plus haut : toute nouvelle application doit être étudiée puis enregistrée pour que l'outil de télé-distribution la prenne en charge .
    Ce genre d'application convient à mon chef.
    Par contre, je ne sais pas du tout comment faire techniquement (c'est au dessus de mes compétences ). Comment dois-je faire pour connaitre les paramètres attendus par l'installer et, de là, les passer ensuite ? Comment mon application doit-elle fonctionner ? Le code que j'ai utilisé peut-il faire l'affaire ?

  10. #10
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par kheironn Voir le message
    Par contre, je ne sais pas du tout comment faire techniquement ... Comment mon application doit-elle fonctionner ?
    Bah là, je dirais qu'il y a plein de possibilités. Tu peux avoir un service et une appli cliente sur le poste client (qui peuvent être directement intégrés dans les master des OS) qui interagissent avec une appli serveur. L'appli serveur bosse avec un dépôt où sont stockés tous les binaires des différentes applications, etc., etc. Si tu veux ensuite que les utilisateurs ne peuvent plus rien installer par eux-même, il te faudra jouer avec les GPO, etc. Pour gérer les abonnements/désabonnements des gens aux applications, il te faudra gérer ça en base ou dans des groupes dans un annuaire, etc. Enfin tu as de très très nombreuses possibilités .
    Citation Envoyé par kheironn Voir le message
    Comment dois-je faire pour connaitre les paramètres attendus par l'installer et, de là, les passer ensuite ?
    Pas le choix, faut lire la doc de l'éditeur . Toujours avec l'exemple de SQL Server, la doc pour le 2008 R2 se trouve ici. Et il faudra le faire pour chacune des applications à prendre en charge.
    Citation Envoyé par kheironn Voir le message
    Le code que j'ai utilisé peut-il faire l'affaire ?
    Avec tout le respect que je te dois, je ne pense pas qu'un simple Process.Start suffise . Il faut bien piger que c'est d'un gros projet dont tu parles !
    Citation Envoyé par kheironn Voir le message
    c'est au dessus de mes compétences
    Donc c'est top. Tu vas apprendre plein de trucs dans plein de domaines différents. Objectivement, c'est quand même un projet super intéressant, ça change des applis de gestion classiques !

  11. #11
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Comme je le disais, c'est un POC de 2-3 jours (le vrai projet sera fait ensuite) durant mon intercontrat...

    Amoi de trouver comment faire et combien ça coute.

  12. #12
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Comme souvent, y'a pas une confusion ?

    On te demande de faire :
    - Un programme d'installation silencieux ?
    => Alors InnoSetup est ton ami

    - Un programme qui permet de lancer l'installation d'un autre programme, et de répondre à ta place aux questions du Wizard ?
    => Alors oui, il faut lancer le programme, puis aller rechercher sa form et activer les contrôles depuis le code. En VB Script ça se fait très bien. En C# aussi. Mais il existe aussi des programmes qui permettent d'enregistrer des macro et de les jouer... Ca peut être intéressant.
    => Sinon, peut-être que le programme à installer supporte déjà un mode silencieux ?
    => Et les installations via les paramètres ActiveDirectory, t'as regardé de ce côté ? (mais bon, si y'a pas de mode silencieux, ça résoud pas le problème)

  13. #13
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Comme souvent, y'a pas une confusion ?

    On te demande de faire :
    - Un programme d'installation silencieux ?
    => Alors InnoSetup est ton ami
    NON
    Citation Envoyé par StringBuilder Voir le message
    - Un programme qui permet de lancer l'installation d'un autre programme, et de répondre à ta place aux questions du Wizard ?
    => Alors oui, il faut lancer le programme, puis aller rechercher sa form et activer les contrôles depuis le code. En VB Script ça se fait très bien. En C# aussi. Mais il existe aussi des programmes qui permettent d'enregistrer des macro et de les jouer... Ca peut être intéressant.
    => Sinon, peut-être que le programme à installer supporte déjà un mode silencieux ?
    => Et les installations via les paramètres ActiveDirectory, t'as regardé de ce côté ? (mais bon, si y'a pas de mode silencieux, ça résoud pas le problème)
    Oui.
    J'ai trouvé comment faire l'essentiel, ça se lance en mode silentieux, il me reste à définir le chemin de l'install et les options (genre décocher des cases du genre installer aussi...)

    pour mon besoin process.Start convient parfaitement (après 1 jour d'essais et de recherches). Je n'ai plus qu'à trouver les paramètres à utiliser pour le cas qui m'a été donné en exemple, et généraliser.

    Merci à vous

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

Discussions similaires

  1. personnaliser un wizard d'installation
    Par Bboubakri dans le forum Débuter
    Réponses: 3
    Dernier message: 30/04/2011, 07h54
  2. installer font avec package wizard
    Par cbleas dans le forum IHM
    Réponses: 4
    Dernier message: 02/11/2007, 12h03
  3. Simulation d'installation électr(on)ique : Je sais ce que je veux mais !?
    Par Dokare dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 07/08/2007, 16h14
  4. [BO XIR2][INSTALL]problème de demarrage de Import Wizard
    Par lepianiste dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 26/07/2007, 14h30

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