Lancer un fichier .reg

sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010 - 2 déc. 2009 à 19:11
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010 - 7 déc. 2009 à 06:22
bonsoir
je souhaite lancer un fichier reg qui se situe dans un dossier
comment doije faire ?
merci

19 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 déc. 2009 à 21:06
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 déc. 2009 à 21:07
oups j'ai été trop vite
vb.net, un peu plus haut sur la même page...
0
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
3 déc. 2009 à 06:19
merci; je suoppose que de lancer un fichier .inf c'est la même command?
sympas
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 déc. 2009 à 11:19
en effet
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
3 déc. 2009 à 18:53
effectivement sa ouvre mon fichier inf , mais sa ne me l'applique pas !
et c'est cela que je souhaite
encore merci
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 déc. 2009 à 18:57
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?
0
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
3 déc. 2009 à 19:20
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
0
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
6 déc. 2009 à 19:21
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
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 déc. 2009 à 19:50
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 ...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 déc. 2009 à 19:54
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]
0
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
6 déc. 2009 à 20:36
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
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 déc. 2009 à 21:02
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)
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 déc. 2009 à 21:07
Pardon (oubli ===>>> correction)
AddReg=Add.Settings1,Add.Settings2,Add.Settings3,Add.Settings4
0
wallace1 Messages postés 11 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 18 septembre 2010
6 déc. 2009 à 22:03
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
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 déc. 2009 à 22:13
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...
0
wallace1 Messages postés 11 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 18 septembre 2010
6 déc. 2009 à 23:40
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.
0
wallace1 Messages postés 11 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 18 septembre 2010
6 déc. 2009 à 23:44
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.
0
wallace1 Messages postés 11 Date d'inscription jeudi 10 août 2006 Statut Membre Dernière intervention 18 septembre 2010
6 déc. 2009 à 23:47
Voici d'autres commandes Shell :

Tapez le texte de l'url ici.
0
sth56500 Messages postés 65 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 20 juin 2010
7 déc. 2009 à 06:22
whaou merci sa faut beaucoup d'info a testé
merci a vous sympa
0
Rejoignez-nous