banner graphic
Riferimenti

Gestione di cartelle e file utilizzando file di informazioni per l'installazione (inf)

I file inf possono essere utilizzati per gestire i file e le cartelle in diversi modi. Di seguito sono elencati i modi principali:

Creazione di cartelle e collegamenti nelle cartelle

La creazione di una cartella nella cartella Programmi o la creazione di collegamenti in una cartella viene eseguita dalla shell dopo l'installazione di un componente. Il programma di installazione cerca nel file Setup.ini una sezione [progman.groups], quindi la analizza per creare delle cartelle e i relativi collegamenti.

Se si installa un componente che richiederα una cartella o dei collegamenti nella cartella Programmi, creare una sezione UpdateInis che creerα le voci appropriate nel file Setup.ini. Il file Setup.ini utilizza la seguente sintassi per creare le cartelle e i collegamenti. Le cartelle sono relative al menu di Avvio.

[progman.groups]
folder_1=Nome-Cartella-1
folder_2=Nome-Cartella-2
:
folder_n=Nome-Cartella-n

[[folder_1]
nome-collegamento, nome-.exe, Nome-file-icona, Indice-icona, profilo

Se il campo profilo viene lasciato NULL, il collegamento verrα sempre aggiunto alla cartella.

Note

Esempio: Giochi

[Optional Components]
giochi

[giochi]
OptionDesc= %GAMES_DESC%
CopyFiles= file.giochiwin
UpdateInis= collegamenti.giochiwin
[file.giochiwin]
cards.dll
freecell.exe
freecell.hlp
mshearts.exe
mshearts.hlp
sol.exe
sol.hlp
winmine.exe
winmine.hlp

[wingames.links]
setup.ini, progman.groups,, "gamesfolder=%GAMES_DESC%" ;crea cartella
setup.ini, gamesfolder,, """Solitario"",SOL.EXE,,," ;crea collegamento
setup.ini, gamesfolder,, "Campo minato,WINMINE.EXE,,," ;crea collegamento
setup.ini, gamesfolder,, ""Hearts"",MSHEARTS.EXE,,,";crea collegamento
setup.ini, gamesfolder,, "FreeCell,FREECELL.EXE,,," ;crea collegamento

Risultato: La voce relativa a "Giochi" verrα visualizzata nella finestra di dialogo dei componenti opzionali nel programma di installazione e, se Φ selezionata, verrα creata una cartella Giochi nella cartella Programmi con i collegamenti a Solitario, Campo minato, Hearts e FreeCell.

Creazione ed eliminazione di nomi di file lunghi

La sezione principale del registro per le operazioni di ridenominazione Φ la seguente:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles

La sezione principale del registro per le operazioni di eliminazione Φ la seguente:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles

Ciascun gruppo di operazioni di ridenominazione e di eliminazione viene aggiunto a una sottochiave sotto ciascuna sezione. Ogni gruppo di operazioni Φ limitato alla ridenominazione o all'eliminazione dei file in un'unica cartella. Per rendere effettiva l'operazione di ridenominazione o eliminazione, Φ necessario includere in ciascuna sottochiave un minimo di due voci: il percorso della cartella dei file da rinominare o eliminare e l'operazione di ridenominazione o eliminazione.

La prima chiave di ciascun gruppo di operazioni Φ la voce della cartella. Ciascuna voce di un'operazione di ridenominazione nella relativa cartella Φ una voce con il seguente formato "nome-breve-vecchio"="nome-lungo-nuovo,[flag-attrib]".

Il flag opzionale flag-attrib viene utilizzato per impostare gli attributi del file durante l'operazione di ridenominazione. Il flag Φ composto dai seguenti valori.

1 READONLY
2 HIDDEN
3 SYSTEM

Per impostare pi∙ attributi in un file o in una cartella, i flag vengono aggiunti insieme; ad esempio, per impostare gli attributi READONLY e HIDDEN, il flag flaf-attrib deve essere 3.

Il seguente esempio consiste in una sezione AddReg che imposta gli attributi SYSTEM e HIDDEN per la cartella \Windows\System\Sample:

HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,,,%11% HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,SAMPLE,,"SAMPLE,6"

Nota

Ciascuna voce per un'operazione di eliminazione nella relativa cartella corrisponde a una voce nel formato "nome-chiave-arbitrario"="nome-lungo-da-eliminare".

Il seguente esempio corrisponde a una sezione AddReg che:

[MiaAppDaBreveALungo]
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,vecchionome.txt,,"Nuovo Nome Lungo.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,mioleggimi.txt,,"Leggimi Mia Applicazione.txt"

Il seguente esempio corrisponde a una sezione AddReg che:

[MiaAppEliminaLungo]
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,vecchionome.txt,,"Nuovo Nome Lungo.txt"

HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,mioleggimi.txt,,"Leggimi Mia Applicazione.txt"

Una volta elaborate tali ridenominazioni ed eliminazioni, le voci vengono rimosse dal registro.

Nota

Impostazione degli attributi per i file e le cartelle

Per impostare gli attributi di un file o di una cartella, utilizzare la stessa convenzione utilizzata per creare i nomi file lunghi servendosi di un flag opzionale.

Per ulteriori informazioni, vedere la sezione "Creazione ed eliminazione di nomi di file lunghi".

Copia di file nella cartella Programmi

Nel seguente esempio vengono copiati tre file nella cartella Programmi\Accessori e creati i collegamenti a uno dei file:

[WordPadInstall]
CopyFiles = WordPadCopyFiles
UpdateInis = WordPadInis

[DestinationDirs]
WordPadCopyFiles = 24,%PROGRAMM%\%ACCESSOR%

[WordPadCopyFiles]
mswd6_32.wpc
wordpad.exe
write32.wpc

[WordPadInis]
setup.ini, progman.groups,, "group4=%APPS_DESC%" ;crea cartella Accessori (se non esistente)
setup.ini, group4,, """%WORDPAD_LINK%"", ""%24%\%PROGRAMM%\%ACCESSOR%\WORDPAD.EXE""" ;crea collegamento nella cartella Accessori

[Strings]
APPS_DESC = "Accessori"
WORDPAD_LINK = "WordPad"
; Nome cartella - Le versioni brevi devono corrispondere ai
; nomi di 8 caratteri troncati per le versioni lunghe, altrimenti si verificano dei problemi.
PROGRAMM = "Progra~1" ; Primi 6 caratteri di Programmi, + "~1" ACCESSOR = "Access~1" ; Primi 6 caratteri di Accessori, + "~1"

Limitazioni dei file inf