Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Da formato .reg a formato .inf
 

In questo articolo vado a raccogliere un pò di software Freeware (ed in alcuni casi anche OpenSource) per tradurre un file .reg (ossia un file che rappresenta il salvataggio di un ramo del registro di Windows tramite Regedit.exe o l' alternativa a linea di comando denominata Reg.exe) nel corrispondente file in formato .inf (Setup Information File).

1. Parlando un pò dei file .inf

Un file .inf ha fondamentalmente un contenuto testuale in cui vi sono delle section: ogni section è costituita da un titolo  (una stringa iniziale con caratteri inclusi in parentesi quadre) e, a seguire,.una serie di comandi testuali. L'esempio più comune di file .inf è quello che si trova incluso tra i file di un Device Driver; tuttavia i file .inf possono essere usati in contesti più generali: con essi si possono infatti copiare, cancellare e rinominare file oppure aggiungere, modificare e cancellare valori di registro, oppure installare ed avviare servizi, etc... Il setup di una qualsiasi applicazione (copia dei file, applicazione delle corrispondenti voci di registro, etc...) lo posso quindi fare con un file .inf. Per una descrizione dettagliata della sintassi si può fare riferimento al seguente url

http://www.microsoft.com/technet/prodtechnol/ie/ieak/techinfo/deploy/60/en/infdef.mspx

Altro indirizzo ottimo (inserito nel contesto della documentazione Driver Development Kit) è il seguente

http://msdn2.microsoft.com/en-us/library/ms790220.aspx

Altri indirizzi utili sono i seguenti

http://gosh.msfn.org/infs.htm

http://vlaurie.com/computers2/Articles/inf-file.htm

Per altri indirizzi cercate su Google (o su quello che volete ...).

Ma con cosa mando in esecuzione un file .inf? Basta aprire il registro di Windows e vedere le voci di registro in corrispondenza dell'estensione .inf

dall' immagine si vede chiaramente che l'esecuzione di un .inf avviene tramite la linea di comando

%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 <nome_file.inf>

Tale linea di comando viene richiamata tramite la voce Installa del menù contestuale relativo al .inf ma naturalmente può essere richiamata anche manualmente

DefaultInstall indica il nome della Section che verrà chiamata dal menù contestuale : quindi il file .inf deve contenere una Section con questo nome ed il cui contenuto sia appunto l'insieme delle direttive che vogliamo eseguire; mentre 123 indica che bisogna inviare un messaggio di notifica all'utente in caso sia necessario il riavvio del sistema

In sostanza viene chiamata la funzione InstallHinfSection esportata dalla dll setupapi.dll : per la documentazione dettagliata di questa funzione si può far riferimento all'indirizzo

http://msdn2.microsoft.com/en-us/library/aa376957(VS.85).aspx

Le funzioni esportate da setupapi.dll vengono raccolte sotto il nome di Setup API .

I file .inf vengono anche usati nel setup di Windows per la definizione del registro: nell'immagine di seguito la mappatura tra file .inf e corrispondenti voci di registro

 

Per vedere poi a che file su disco corrispondono le voci di registro, si può fare un salto all'indirizzo

http://pasotech.altervista.org/tips_registro/tip54.htm

 

2. Software per convertire un .reg in .inf

Nel paragrafo precedente abbiamo visto come i file .inf consentano diverse operazioni su file e voci di registro; focalizziamoci ora sulle modifiche al registro e vediamo un pò di software che consente di convertire un file .reg in un file .inf che consente di applicare al registro le modifiche presenti nel .reg

2.1 ConvRegToInf by Paraglider

Applicativo creato con .Net (senza sorgenti però, azz azz ...) nell'ambito della realizzazione di plugin per BartPE 

http://www.paraglidernc.com/Files/ConvRegToInf11003.zip

Facciamo anche un mirror locale che non si sa mai

ConvRegToInf11003.7z

Il sito web dell'autore è

http://www.paraglidernc.com/

2.2 Reg2Inf by N7Epsilon

Applicativo creato con .Net e stavolta abbiamo anche i sorgenti in C#: il link principale è il seguente thread di forum

http://www.ryanvm.net/forum/viewtopic.php?t=2169

Per il download

http://epsilon.nlitened.org/dev/utilities/Reg2Inf_0.46.zip

ed anche qui facciamoci un mirror locale

Reg2Inf_0.46.7z

2.3 Reg2Inf by Basil Matveev (modifiche by Susta76)

Script in VBScript

reg2inf_vbs.7z

2.4 PEReg by RedCl0ud

Applicativo creato con Visual Basic (senza sorgenti, azz azz ...)

http://www.redcl0ud.com/winpe.html

ed ovviamente un mirror locale

PEReg.7z

 

 

 

 

 
 
 
Your Ad Here