Lancer un fichier .reg

Signaler
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010
-
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010
-
bonsoir
je souhaite lancer un fichier reg qui se situe dans un dossier
comment doije faire ?
merci

19 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
oups j'ai été trop vite
vb.net, un peu plus haut sur la même page...
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

merci; je suoppose que de lancer un fichier .inf c'est la même command?
sympas
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
en effet
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

effectivement sa ouvre mon fichier inf , mais sa ne me l'applique pas !
et c'est cela que je souhaite
encore merci
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
inf n'est qu'une extension pour une syntaxe respectant le format INI
il n'y a pas d'éditeur appliquant, l'INF n'est pas un (auto-)executable

que cherches-tu à faire?
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

bah en fait je voulais appliquer un .reg converti en inf car l'effet est instantané sous windows
je connais la command pour mon fichier reg et si tu me dis que pour un fichier Inf il n'ya aps de soultion !!! je vais passer par des reg
en tout cas grand merci de ton aide
tu m'es très sympathique
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

j'ai pourtant trouvé cela

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Shell("rundll32 setupapi,InstallHinfSection DefaultInstall 128 .\TonDossierInf\TonFichierInf.INF")
End Sub

mais il me rend une erreur "l'installation a échouée)..
il doit lme manqué quelque chose , un imports ou autre ?
merci
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,
1) Je ne sais pas sio le shell appelé depuis VB.Net (que je ne connais pas) fonctionne exactement comme lorsqu'appelé de VB6
2) voici ce que je mettais il y a quelques années dans ma commande shell pour VB6 pour exécuter un inf
RunDll32.exe setupapi,InstallHinfSection DefaultInstall 132 ton_fichier.inf 

Et tout marchait bien...
3) reste à savoir comment est "construit" ton inf (que l'on n'a pas vu) et s'il n'est pas le véritable fautif de l'erreur survenue ...
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
certain INF sont installables, notamment ceux inclus dans les packages de pilotes

ceci n'intervient en rien par rapport à ta question :
INF = simple extension
tu l'utilises à mauvais escient

tu veux enregistrer des valeurs dans le registre avec une syntaxe REG dans un fichier .INF

INF -> aucun rapport
REG -> inadapté

si tu veux toucher au registre, ne bidouille pas, utilise les classes du framework qui sont faites pour
(Microsoft.Win32.Registry)

bonne soirée et bon courage

[hr]
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

voila une copie de mon .inf qui fonctionne a merveille mais des que je passe sous vb sa coince
Version]
Signature="$CHICAGO$"

[Optional Components]
MyRegTweaks

[DefaultInstall]
AddReg =REGEntries.AddReg
DelReg =REGEntries.DelReg

[MyRegTweaks]
OptionDesc ="Registry Entries"
Tip ="Registry Entries"
Modes =0,1,2,3
AddReg =REGEntries.AddReg
DelReg =REGEntries.DelReg

[REGEntries.AddReg]
; Reg2Inf v0.46 - http://tinyurl.com/fgqyf
HKCR,"Directory\Background\shell\Start DWM",,0x0,"Activer l'Aéro"
HKCR,"Directory\Background\shell\Start DWM\command",,0x0,"net start uxsms"
HKCR,"Directory\Background\shell\Stop DWM",,0x0,"Désactiver l'Aéro"
HKCR,"Directory\Background\shell\Stop DWM\command",,0x0,"net stop uxsms"

[REGEntries.DelReg]
; Reg2Inf v0.46 - http://tinyurl.com/fgqyf
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Ton fichier inf devrait ressembler à ceci (exemple pour uniquement ajouts et/ou modifs)

[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=Add.Settings1,Add.Settings2,Add.Settings3

[Add.Settings1]
HKCR,"Directory\Background\shell\Start DWM",,0x0,"Activer l'Aéro" 

[Add.Settings2]
HKCR,"Directory\Background\shell\Start DWM\command",,0x0,"net start uxsms" 

[Add.Settings3]
HKCR,"Directory\Background\shell\Stop DWM",,0x0,"Désactiver l'Aéro" 

[Add.Settings4]
HKCR,"Directory\Background\shell\Stop DWM\command",,0x0,"net stop uxsms" 


Attention :
sans préjudice de tout le reste, à savoir :
1) remarque justifiée de PCPT (mais je sais par expérience que dans certains cas...)
2) justesse de tes clés (gaffe, par exemple, à tes 0x0 et à la manière dont, venant d'un inf, ils vont être interprêtés !)
3) tes permissions d'accès à la BDR (bien évidemment)
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Pardon (oubli ===>>> correction)
AddReg=Add.Settings1,Add.Settings2,Add.Settings3,Add.Settings4
Messages postés
11
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
18 septembre 2010

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 » :


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? :


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 :

OpenProgram("cmd.exe", " /c InfDefaultInstall.exe C:\TonFichierInf.INF", True, ProcessWindowStyle.Hide)


PS : [I]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./I


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

http://www.developpez.net/forums/d845897/dotnet/visual-basic-net/windows-forms/installer-fichier-inf/#post4840658
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Au fait (par ailleurs) : pourquoi passer forcément par une modification de la BDR pour activer ou désactiver Aero ?

Je crois savoir que tu peux faire ces opérations ainsi (en appelant dans le shell)
Pour activer
rundll32.exe dwmApi # 104

Pour désactiver
rundll32.exe dwmApi #102 rundll32.exe dwmApi # 102


Pour uxsms : je ne sais par contre pas mais il semble (je ne peux essayer sans Vista sous la main) que le shell puisse également être utilisé pour lancer les commandes :
net stop uxsms
ou
net start uxsms
qui marchent depuis l'invite de commande ... Appelables par le Shell ? je n'en sais rien.

Une autre chose m'étonne : les clés que tu veux modifier. Elles ne semblent pas correspondre à ce que je lis ici et là (n'ayant pas Vista moi-même) !
Lis ici, par exemple :
http://www.guwiv.com/portal/forums/thread/395.aspx
Mais une autre fois : je n'ai ni vista ni donc sa BDR sous la main...
Messages postés
11
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
18 septembre 2010

Au fait (par ailleurs) : pourquoi passer forcément par une modification de la BDR pour activer ou désactiver Aero ?


Peut être parce qu'il n'a pas envie d'intervenir sur un système déjà installé ou que ce dernier n'est qu'en fait un système hôte sur lequel il a chargé des ruches qu'il souhaite modifier.

Voilà tout.
Messages postés
11
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
18 septembre 2010

Je crois savoir que tu peux faire ces opérations ainsi (en appelant dans le shell)
Pour activer
rundll32.exe dwmApi # 104

Pour désactiver
rundll32.exe dwmApi #102 rundll32.exe dwmApi # 102


Mais sinon c'est une très bonne alternative. merci pour l'info.
Messages postés
11
Date d'inscription
jeudi 10 août 2006
Statut
Membre
Dernière intervention
18 septembre 2010

Voici d'autres commandes Shell :

Tapez le texte de l'url ici.
Messages postés
65
Date d'inscription
samedi 13 août 2005
Statut
Membre
Dernière intervention
20 juin 2010

whaou merci sa faut beaucoup d'info a testé
merci a vous sympa