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

Windows Forms Discussion :

Installer un fichier Inf ?


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Installer un fichier Inf ?
    Bonsoir je suis sous VB2008 et je souhaiterais Installé un fichier Inf.
    j'ai utlisé "process.start" mais celui si m'ouvre mon fichier et c'est pas ce que je recherche..
    désolé mais je suis un noob qui vien cherché un peu d'aide alors merci a celui qui m'aidera

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir Sth56500,

    Moi j’utilise 2 procédures dans un module pour lancer des processus avec des arguments :

    - OpenProgram
    - WaitToFinish

    OpenProgram accepte 4 arguments dans sa signature :

    - FileName (le fichier lancé par le process généralement « cmd.exe »)
    - Arguments ( communément appelé switchs. Ex : « /s », « /c »,…)
    - Wait ( Se valeur de type boléenne permet d’attendre oui ou non la fin du process. Cette procédure renvoie sur «WaitToFinish » ).
    - WindowsStyle ( Une fenêtre doit-elle apparaitre ou non. Ex : « ProcessWindowsStyle.Hide » pour ne pas l’afficher).

    WaitToFinish accepte 1 argument :

    - AppExe (l’exécutable de l application lancée. Ex : « cmd.exe »).

    Le code de « OpenProgram » :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Public Sub OpenProgram(ByVal Filename As String, ByVal Arguments As String, ByVal Wait As Boolean, ByVal WindowsStyle As ProcessWindowStyle)
            Dim processStartInfo1 As ProcessStartInfo = New ProcessStartInfo()
            processStartInfo1.FileName = Filename
            If Operators.CompareString(Arguments, "", False) <> 0 Then
                processStartInfo1.Arguments = Arguments
            End If
            processStartInfo1.WindowStyle = WindowsStyle
            Dim string1 As String = Filename
            If string1.Contains("\") Then
                While string1.Contains("\")
                    string1 = string1.Substring(1)
                End While
            End If
            Dim process1 As Process = Process.Start(processStartInfo1)
            If Wait Then
                Module1.WaitToFinish(string1)
            End If
        End Sub
    Le code de “WaitToFinish” :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
       Public Sub WaitToFinish(ByVal AppExe As String)
            Dim processArray1 As Process() = Nothing
            Dim exception1 As Exception = Nothing
            If AppExe.Contains(".exe") Then
                While Not AppExe.EndsWith(".")
                    AppExe = AppExe.Substring(0, (DirectCast((AppExe.Length - 1), Integer)))
                End While
                AppExe = AppExe.Substring(0, (DirectCast((AppExe.Length - 1), Integer)))
            End If
            Dim i1 As Integer = 0
            Try
                While i1 <> 1
                    processArray1 = Process.GetProcessesByName(AppExe)
                    i1 = 0
                    For Each process1_1 As Process In processArray1
                        i1 = 1
                    Next
                End While
                While i1 <> 0
                    processArray1 = Process.GetProcessesByName(AppExe)
                    i1 = 0
                    For Each process1 As Process In processArray1
                        i1 = 1
                    Next
                End While
            Catch exception2 As Exception
                exception1 = exception2
                ProjectData.SetProjectError(exception1)
                Dim msgBoxResult1 As MsgBoxResult = Interaction.MsgBox(exception1.Message, MsgBoxStyle.ApplicationModal, Nothing)
                ProjectData.ClearProjectError()
            End Try
        End Sub
    La commande pour lancer tout ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       OpenProgram("cmd.exe", " /c InfDefaultInstall.exe C:\TonFichierInf.INF", True, ProcessWindowStyle.Hide)
    PS : Attention ton fichier INF doit contenir la section « DefaultInstall » (l’amorce d’installation) sinon « infDefaultInstall.exe » ne le prendra pas en compte.
    Attention également aux permissions que tu souhaites donner à la destination de tes modifs. Exemple si ton fichier inf applique des modifications au registre il faudra que ton appli gère l'accès en écriture sur la base de registre.
    Vérifie aussi sur quel OS tu comptes opérer le lancement de ton fichier ".inf" sachant qu'avec Vista/Se7en il te faudra gérer l'UAC les droits sur les modifications de fichiers (TakeOwn.exe et icalcs.exe).
    A titre info bien sur.



    A+ dispo pour des questions. "winweb" ForEver.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    merci wallace
    unattended for ever

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

Discussions similaires

  1. Comment installer un fichier .bin
    Par youg786 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 10/05/2006, 17h04
  2. Ecrire un fichier.inf
    Par Furius dans le forum Windows
    Réponses: 10
    Dernier message: 19/10/2005, 12h15
  3. Convertir fichier.ISS en fichier.INF
    Par Furius dans le forum Windows
    Réponses: 9
    Dernier message: 15/10/2005, 11h53
  4. Installation MySql (fichier My.cnf)
    Par cassandra dans le forum Installation
    Réponses: 3
    Dernier message: 18/03/2003, 09h02
  5. Affichier un fichier inf
    Par cyrose dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/06/2002, 08h16

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