Executer fichier ini

petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006 - 27 sept. 2006 à 14:48
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006 - 29 sept. 2006 à 16:05
bonjour a tous.
Voila je travail sur un projet dans ma société, et j'utilise un boitier pour brancher certains appareils sur un port usb d'un pc.

Cet appareil a besoin de driver pour fonctionner correctement. Mon probleme c'est que je ne veux pas que chaque utilisateur qui branchera l'appareil sur son pc est besoin d'installer les driver, je voudrais le faire automatiquement par l'intermédiaire d'un programme en VBA.

L'installation des drivers s'effectue grace a un fichier .ini sur le cd, j'aurai voulu savoir comment faire pour l'executer pour que les drivers et autres s'installent au bon endroit.

Merci d'avance a tous...

18 réponses

cs_kazer04 Messages postés 182 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 14 mars 2011
27 sept. 2006 à 15:04
copy et ouvre et modifi le fichier ini c'est tout selon tes besoin
0
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006
27 sept. 2006 à 15:16
Justement je n'es pas besoin de le modifier ou autre, je voudrais ,juste l'executer pour que je copie les drivers au bon endroit sur le pc utilisateur.

Je veux juste me servir du fichier, pas le modifier ou autre.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 sept. 2006 à 13:28
salut,
tu executes un fichier ini?
vlà autre chose....

tu peux démarrer un exe ou un bat avec un fichier ini (autorun) à partir du cd, qui peut lui-même lancer excel, il y aura tout de même une demande d'activation des macros pour installer les pilotes.....

le fichier ini doit être à la racine du cd, et de structure classique :

[autorun]
OPEN=run.bat
ICON=icone.ico

le fichier doit s'appeler autorun.inf

à part çà... reformule peut-être, je vois mal ta demande....

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 sept. 2006 à 13:35
Salut,

Pour executer un fichier.

Mais executer un .ini... je n'ai jamais vut.

@+


<hr size="2" width="100%" />
Je suis en deuxième année en école d'ingénieur et passionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
0

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

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 sept. 2006 à 14:01
PCPT, autorun, c'est pas .ini, c'est .inf

PetiGeni :
les fichiers .inf sont <strike>exécutables</strike> interprétables par le système d'exploitation, s'il est configuré pour.
Autorun.inf, lancé automatiquement lors de l'insertion d'un média amovible.
autre .inf, par le gestionnaire de périphérique (pas de lancement automatique) lors de l'ajout d'un nouveau périphérique.

Tu parles d'installation de driver par fichiers .ini. Es-tu sur?
Les drivers sont généralement installé à l'aide de fichiers .inf (information sur le driver), .cat (catalogue de données du driver) et .sys (fichier du driver lui-même). Accessoirement accompagné de dll ou d'exe.

Les .ini ne sont pas executables. Ils ne contiennent habituellement que des paramètres de configurations d'un logiciel (ce logiciel pouvant etre un setup un peu plus évolué pour ton driver, ce qui as pu t'induire en erreur).

Seul l'autorun.inf placé à la racine d'un périphérique permet le lancement automatique à l'insertion du périphérique. Mais ça ne marche sur tout les périphériques, ça ne marche pas avec les clés usb par exemple.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 sept. 2006 à 15:20
casy, relis ce que j'ai mis....

"racine du cd" : effectivement pas usb, voir la demande exacte
"ini (...) structure classique" : je parle de l'architecture du fichier, pas de son extension.
"le fichier doit s'appeler autorun.inf" ...
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 sept. 2006 à 15:26
Salut pcpt (J'avais pas raffraichit la page après que tu es posté...)

casy>private joke : "t'as lu le reste du topic avant de répondre ?"

Bon dac, t'as peut être un peu plus lu que moi.

<hr size="2" width="100%" />Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 sept. 2006 à 16:04
Bon double post... au moins je compenserais peut être un peu mon message inutile.


On peut executer un inf (Une section de inf en fait) via la routine LaunchINFSection de la dll advpack.dll.


Cela donnerait donc quelque chose comme ça :


Set MyShell = CreateObject("WScript.Shell")

MyShell.Run "rundll32 advpack.dll, LaunchINFSection, ""d:\fichier.inf"", Section"

Mais comme l'insinue pcpt, on est pas forcé d'executer le inf :  suffit d'executer l'exe qu'il execute.


J'ai pas pu tester ce code : la routine LaunchINFSection semble absente
de la dll présente sur le serveur que j'utilise (Un Windows 2000).
<hr size="2" width="100%" />Je suis en deuxième année en
école d'ingénieur et passionné de développement logiciel sous D7 et VB6.
Je cherche un stage en entreprise sur Paris de début avril à fin
juillet 2007.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 sept. 2006 à 17:37
PCPT > racine oui, cd pas forcément. C'est sencé aussi marché avec des périphériques autres que le cd. Ca ne marche pas (en général, car ça marchait sur mon ancienne config) avec les clé USB,parce que bien que périphériques amovibles, elle sont considérées comme périphérique de stockage de masse, comme les disque durs.

rt15 > oui, d'où la distinction que je fais entre exécuter et interpréter un fichier ini. On ne l'exécute pas, on le lit et en fonction des données lues, on en déduit des actions à exécuter. Mais ce n'est pas les données elles même qui sont exécutées. Et finalement, libre à nous d'en faire ce qu'on veut de ces données, alors qu'un exe non.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 sept. 2006 à 18:04
bon, on va pas non plus faire un roman...
petigeni -> ta question est "L'installation des drivers s'effectue grace a un fichier .ini sur le cd, j'aurai voulu savoir comment faire pour l'executer pour que les drivers et autres s'installent au bon endroit"

le fichier ini ne pourra pas être lu "tout seul", c'est à dire par windows.
si tu fais tout çà en VBA, on peut supposer que tes clients n'ont pas les runtimes.
et pareil si c'est pour installer les pilotes sans intervention externes, c'est aussi que tu ne veux pas faire d'installeur (avec appli VB6 par exemple).

proposition (qui n'engage que moi) : un fichier ini (structure) nommé autorun.inf (je radote) dont le contenu est indiqué au dessus.
et ton run.bat lance excel (ou access ou autre...) qui lui ira lire le fichier INI dont tu parles et fera les copies comme tu l'entends.

sinon les batch sont tout à fait capable de copier des fichiers vers les répertoires systèmes (donc même idée).
par contre je ne suis par certain qu'un fichier INI soit lisible en MSDOS (à vérifier)

autre possibilité également, le VBS.
lançable directement par le INF? peut-être... sinon le batch peut lancer le VBS

voilà en gros...

et pour le côté "au bon endroit", tu dois parler de C:\WINDOWS\SYSTEM32", variable selon les PC....
dans quel cas en VBA voire VBS, tu peux utiliser sVar = ENVIRON$("MOT_CLé_DéSIRéE")
ex : "SYSTEMROOT"

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 10:16
Je vois que sa a répondu fort sur mon sujet.....
Deja je voudrais corriger mon erreur, c'est bien un fichier inf que je voudrais executer.
Je vais reprendre mon probleme.

J'utilise un matériel qui a besoin de pilote pourfonctionner sur PC (jusqu'a la Ok),j'ai un cd d'installation des pilotes, celui ci est blindé de pilote de différents modéles de mon periphérique, et moi j'aimerai fournir aux futurs acheteurs de ce periphérique juste les pilotes necessaire que j'installerai automatiquement (pour ne pas laisser l'utilisateur le faire lui meme).

Sur le cd, j'ai cru trouver le dossier opu se trouve le fichier inf que j'aurai besoin d'executer.

J'ai trouvé une commande en dos pour executer un .inf, mais voila sa a pas l'air de focntionner, car aprés utilisation, le matériel n'es pas reconnu.

Ensuite je lance l'assistant d'ajout de matériel , la je lui précise que je vais lui indiquer les pilotes , je clique sur parcourir, je vois dans la fenetre qu'il demande un .inf, je lui indique le .inf quej'ai moi meme essayer d'executer avant.....et la sa fonctionne, les pilotes sont bien installer.

C'est surement ma commande qui ne conviens pas :

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 monFichierInf
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
29 sept. 2006 à 10:35
Ta commande me paraît très bien. Vala l'aide de la fonction (Avec exemple en rundll32).

(rundll32, c'est un exe qui permet d'executer des fonctions des dlls de windows).

Eventuellement, si il y a des espaces dans le chemin d'accès de monFichierInf, il faut mettre des guillemets (Mais je suppose que tu aurais eu un message d'erreur explicite à ce niveau).

DefaultInstall, il faut que ce soit le nom de la section, mais je suppose que ton .inf l'a...

<hr size="2" width="100%" />Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 sept. 2006 à 10:47
Il semblerait qu'il y est quelques infos intéressentes sur l'utilisation de SetupAPI sur ce site

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 10:49
Enfait je n'es pas vraiment de section defaultInstall, mais j'ai une section ComPort_install , et c'est celle ci que j'execute......


 


J'ai vuq dans l'aide qu'il existait installHInfSectionA et installHinfSectionW, je vais faire un test avec pour voir....
0
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 11:32
Je ne sais pas qu'elle section executer dans mon fichier, quel traitement réaliser pour installer correctement mes pilotes...


 


J'ai ausi remarque que quand j'executé mon script je n'avais pas le fichier serenum.sys alors que celui ci apparait lors de l'installation automatique de Windows..
J'ai recherché ce fichier dans le cd d'install que j'ai , et je ne l'ai pas trouvé...

[font=Arial Black]Salut les mecsBlack
 
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 sept. 2006 à 13:20
hormis le fait qu'il n'y a pas trop de rapport avec VB finalement....
installHInfSectionA doit être pour un fichier "normal" (ascii), et installHinfSectionW pour un fichier en unicode

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 sept. 2006 à 13:33
Pour completer ce que dit PCPT, je crois que le suffixe A signifie "fonction 32bits NT" et le W effectivement Unicode.

Généralement dans les API Windows tu peux trouver une fonction toto, totoA, totoW

toto s'applique aux anciennes plateformes 32bit ou pseudo 32bits représentées par les OS Win3.11 32bits, Win95, Win98.
totoA s'applique aux "vrais" plateforme 32bits plus connues sous le terme de NT : WinNT 3.5 & 4.0, Win2K, WinXP. WinServer, etc
totoW est l'équivalent de totoA mais en traitant les caractères et les chaines en unicode au lieu de ascii simple.

De nos jours, il est évident que c'est les totoA et eventuellement totoW qu'il faut utiliser.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
petigeni Messages postés 34 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 29 septembre 2006
29 sept. 2006 à 16:05
Il est vrai que cela n'a plus de rapport avec VB, au début je pensais passer par VBA pour le faire, puis je me suis dit que de le faire en batch que je lancerai par autorun.ini d'un CD serait plus judicieux...
Pardon de cette déviance, mais ayant vu que vous avier répondu a mon post , j'ai préféré continuer sur mon idée.....

Malgré tout j'avance un peu, j"ai modifier complétement mon batch aprés étude des fichiers inf.
maintenant les fichiers se sopient correctement, mais a la copie j'ai un message qui m'indique que lle logiciel  n'a pas été validé par un test  permettant d'obtenir le logo Windows.......

maintenant je regarderai cela lundi....Car c'est l'heure de rentré a la maison pour moi....

Merci a tous de votre aide....
0
Rejoignez-nous