Struktura plików INF cz.II
\Polskie Fonty \Wracaj na
początek \Rejestr
Pliki INF - kolejne sekcje
Sekcja [Update_AutoExec][Update AutoExec]
CmdDelete=komenda
CmdAdd=komenda [, parametry]
UnSet=zmienna_środowiskowa
PreFixPath=ldid [, ldid]
RemOldPath=ldid [, ldid]
TmpDir=ldid [, podfolder]
Sekcja wskazywana w [Install], opisująca zmiany
w pliku AUTOEXEC.BAT.
CmdDelete -- usuwa wiersz z wymienioną komendą,
CmdAdd -- dodaje podaną komendę (z parametrami),
UnSet -- usuwa wiersz ustawiający zmienną środowiskową,
PreFixPath -- dodaje parametr do polecenia path,
RemOldPath -- usuwa polecenie path lub set
path przez wstawienie rem,
TmpDir -- zmienia wiersze wskazujące folder plików
tymczasowych.
W sekcji mogą pojawić się dowolne
z wymienionych instrukcji. PreFixPath, RemOldPath i TmpDir mogą pojawić się tylko raz.
Wszyskie polecenia CmdDelete
wykonywane są przed poleceniami CmdAdd.
Znaczenie ldid opisane jest razem
z sekcją [DestinationDirs].
W poniższym przykładzie pochodzącym z WAVE.INF
usuwany jest wiersz zawierający polecenie instalujące program
rezydentny EmuTSR. [AZT16.AutoBat]
CmdDelete=emutsr,1
Sekcja [Update_Config][Update Config]
DevRename=nazwa_sterownika, nowa_nazwa_sterownika
DevDelete=nazwa_sterownika
DevAddDev=nazwa_sterownika, polecenie, znacznik, parametry
Stacks=wartość_Stacks
Buffers=wartość_Buffers
Files=wartość_Files
LastDrive=wartość_Lastdrive
Podobnie jak [Update_AutoExec] określa zmiany
w AUTOEXEC.BAT, ta sekcja zawiera polecenia modyfikujące
CONFIG.SYS.
DevRename -- zmienia nazwę sterownika,
DevDelete -- usuwa sterownik,
DevAddDev -- dodaje nowy sterownik używając polecenia
device lub devicehigh,
Stacks -- ustawia wartość stacks,
Buffers -- ustawia wartość buffers,
Files -- ustawia wartość files,
LastDrive -- ustawia wartość lastdrive.
Żadne z tych poleceń nie musi w sekcji
wystąpić. Trzy pierwsze mogą się powtarzać, a kolejność ich
przetwarzania jest następująca: DevRename, DevDelete, DevAddDev.
Sekcja [Update_INI][Update_INI]
plik, sekcja, [stara_wartość], [nowa_wartość], [znacznik]
Jest to jedna z dwóch wskazywanych
w [Install] sekcji
opisujących modyfikacje plików INI. Wykonywaną operację określają
znaczniki:
Domyślny. Bezwarunkowo wstawia nowy wpis. Jeżeli opcja
istniała wcześniej, zostaje zastąpiona. Jeżeli nowa wartość nie
jest podana, stara zostaje usunięta.
Jeżeli stara wartość zostanie znaleziona (zgodna nazwa
i wartość opcji), będzie zastąpiona nową.
Jeżeli stara wartość zostanie znaleziona (zgodna tylko nazwa
opcji), nie będzie zastąpiona nową, nawet jeżeli jest pusta.
Jeżeli stara wartość zostanie znaleziona (zgodna nazwa
i wartość opcji), nie będzie zastąpiona nową.
Przy podawaniu wpisów w plikach INI można
posłużyć się znakiem *.
Nazwy plików muszą zawierać określenie ich
położenia w postaci ścieżki dostępu lub ldid (patrz [DestinationDirs]).
Poniższy przykład pochodzi z pliku SCSI.INF.
Adaptery SCSI zazwyczaj bezwarunkowo wymagają korzystania
z podwójnego buforowania. ldid o wartości 31 oznacza folder
główny dysku systemowego. [DoubleBuffer]
%31%\msdos.sys,Options,,"DoubleBuffer=1"
Sekcja [Update_INIFields][Update_INIFields]
plik, sekcja, opcja, [stara_wartość], [nowa_wartość], [znacznik]
Przeznaczenie i konstrukcja tej sekcji jest podobna
do [Update_INI]. Pozwala
jednak wyszczególnić opcję.
W pliku NETCLI.INF znajdziemy przykład
wykorzystania znacznika domyślnego, który powoduje zastąpienie
starej wartości nową, nawet jeżeli ta druga jest pusta. [MSNP32.Rmv.Fields]
system.ini,Boot,Networks32,MSNP32
win.ini,windows,load,wdls
Wiersze Networks32=MSNP32 iload=wdls zostaną usunięte.
Sekcja [Add_Registry][Add_Registry]
kategoria, [klucz], [nazwa_wartości], [znacznik], [wartość]
[Add_Registry] to kolejny typ sekcji, której
nazwę podajemy w pliku [Install]. Pozwala ona tworzyć nowe
klucze i wartości, jak również zapisywać w nich dane.
Znacznik określa, czy zmiana danych wartości ma nastąpić
bezwarunkowo.
Kategoria podawana jest trzy- lub czteroliterowym
skrótem, jak HKLM dla
HKEY_LOCAL_MACHINE. Dodatkową opcją jest skrót HKR, wskazujący klucz urządzenia, np: [CanPoll]
HKR,,Polling,,1
w pliku INF kontrolerów CD-ROM oznacza wpisanie Polling=1
w kluczu właściwym klasie i urządzeniu. Jeżeli
instalujemy pierwszy kontroler CD-ROM będzie to HKLM\System\CurrentControlSet\Services\Class\Adapter\0000
Sekcja [Delete_Registry][Delete_Registry]
kategoria, klucz, [nazwa_wartości]
Sekcja wykorzystywana podobnie jak [Add_Registry], ale służąca do
usuwania kluczy i wartości.
Sekcja [INI_to_Registry][INI_to_Registry]
plik, sekcja, [opcja], kategoria, klucz, znacznik
Najbardziej rozbudowana z trzech sekcji
modyfikujących Rejestr. Wymaga podania pliku, sekcji i ewentualnie opcji w pliku INI oraz
wskazania klucza Rejstru. Przenosi wskazane opcje.
Sekcja [File-List][File-List]
nowa_nazwa, [stara_nazwa], [tymczasowa_nazwa], [znacznik]
Sekcje [File-List] wskazywane są
w poleceniach sekcji [Install] -- DelFile, RenFile i CopyFile. Każda z nich może zawierać
dowolną ilość wierszy.
Polecenie DelFiles
wymaga podania tylko jednego pliku -- będzie on usunięty.
Polecenie RenFiles
wymaga dwóch argumentów -- nowej i starej nazwy.
Polecenie CopyFiles
operuje jedną, dwoma lub trzema nazwami. Pierwsza określa plik
docelowy. Druga -- plik źródłowy. Jeżeli jest taka sama jak pliku
docelowego, to można ją pominąć. Podanie tymczasowej nazwy oznacza
to, że plik zostanie skopiowany, ale nazwa końcowa zostanie mu
nadana dopiero przy następnym uruchamianiu Windows. Do tego czasu
będzie nosił tymczasową.
Każdej sekcji [File-List] towarzyszy odpowiedni
wpis w [DestinationDirs].
Sekcja [DestinationDirs][DestinationDirs]
DefaultDestDir=ldid [, podfolder]
sekcja_File-List=ldid [, podfolder]
Sekcja [DestinationDirs] ma nazwę stałą. Jej
istnienie jest warunkowane przez polecenia DelFiles, RenFiles i CopyFiles w sekcjach [Install]. Z [DestinationDirs] pobierają one nazwy
folderów. Dla DelFiles i RenFiles są to jedyne, w których
operują, dla CopyFiles -- foldery
docelowe. Każda z wskazywnych przez te polecenia sekcji powinna
mieć odpowiednik w sekcji [DestinationDirs]. Jeżeli nie, za właściwy
folder będzie uznany określony w wierszu DefaultDestDir. Również do DefaultDestDir trafią pliki kopiowane
bezpośrednio poleceniem CopyFiles,
bez odwoływania się do sekcji (z @).
Jeżeli wiersz DefaultDir nie istnieje -- za domyślny
folder zostanie uznany główny folder Windows 9x (C:\WINDOWS).
Wartości ldid
przedstawia poniższa tabela.
LDID
Folder
00
Zarezerwowany
01
Żródłowy
02
Tymczasowy Instalatora Windows 9x (istnieje tylko w czasie
instalacji)
03
Danych do odinstalowania Windows 9x
04
Kopii zapasowej
10
Windows 9x
11
System
12
IOSUBSYS
13
Command
14
Panel sterowania
15
Drukarki
16
Grupy roboczej
17
INF
18
Help
19
Folder administracji systemu
20
Fonts
21
Viewers
22
VMM32
23
Color
25
Plików współużytkowanych (ten sam co folder Windows
9x)
26
Windows 9x (uruchomieniowy)
27
Zależnie od komputera
28
Host folderu uruchomieniowego Windows 9x
30
Główny dysku startowego
31
Główny hosta wirtualnego dysku startowego
32
Stary folder Windows (jeżeli istnieje)
33
Stary folder MS-DOS (jeżeli
istnieje)
Sekcja [SourceDisksFiles][SourceDisksFiles]
nazwa_pliku=numer_dysku
Sekcja o stałej nazwie. Wskazuje numer dysku
instalacyjnego dla każdego pliku, którego źródło musi być znane w
trakcie przetwarzania pliku INF. Znaczenia numerów dysków muszą
zostać określone w [SourceDiskNames].
Sekcja [SourceDisksNames][SourceDisksNames]
numer_dysku=opis_dysku, etykieta_dysku, numer seryjny dysku
Identyfikuje dyski źródłowe instalowanego
oprogramowania wymienione w sekcji [SourceDisksFiles]. Opis wykorzystywany
jest przy wyświetlaniu komunikatu informującego użytkownika, który
dysk ma włożyć do stacji.
Sekcja [ClassInstall]UpdateInis=sekcja_Update_INI [, sekcja_Update_INI]...
UpdateIniFields=sekcja_Update_IniFields
[, sekcja_Update_IniFields]...
AddReg=sekcja_Add_Registry [, sekcja_Add_Registry]...
DelReg=sekcja_Delete_Registry
[, sekcja_Delete_Registry]...
Ini2Reg=sekcja_Ini_to_Registry
[, sekcja_Ini_to_Registry]...
Copyfiles=sekcja_File-List [, sekcja_File-List]...
Renfiles=sekcja_File-List [, sekcja_File-List]...
Delfiles=sekcja_File-List [, sekcja_File-List]...
Polecenia tej sekcji odpowiadają dokładnie tym, które opisane
zostały przy sekcji [Install]. Są wykonywane przed
zainstalowaniem urządzenia, którego klasa nie została wcześniej
zarejestrowana.
Sekcja [Strings][Strings]
zmienna=wartość
Definiuje wszystkie zmienne, które wystąpiły
w pozostałych sekcjach pliku. Sekcja ta jest jedynym miejscem,
gdzie zmienne występują bez znaków %
po obu stronach.
Zgromadzenie zmiennych w jednej sekcji powoduje, że łatwo
dostępne są wszystkie czytelne informacje w pliku. Są to
zarazem teksty, które w trakcie instalacji będą wyświetlane na
ekranie.
Instalowanie programów poprzez plik INF
Niektóre niewielkie programy nie mają instalatora, a jedynie
załączony plik z rozszerzeniem INF. Są to pliki instalujące z
pełną instrukcją kopiowania, skrótów, odinstalowania itp.
Procedura jest następująca: kliknij w Eksploratorze na pliku
*.inf prawym przyciskiem myszy -- pojawi się menu kontekstowe jak na
rysunku. Teraz kliknij na Zainstaluj i system wykona
wszystkie operacje...
Można również zrobić to samo z poziomu linii poleceń lub pliku
.BAT, wpisując (w jednej linii):
%windir%\rundll.exe
setupx.dll,InstallHinfSection DefaultInstall 132
ścieżka\plik.inf
Uniwersalny starter plików INF -- czyli programik
INFSTALL startujący te pliki instalacyjne. Jak działa? Po
prostu uruchamia każdy plik *.inf, który umieścimy w tym
samym folderze, co Infstall. Kopiuj INFstall.zip
(10 kB -- freeware).
R E K L A M A :
[ Dalej o
Rejestrze ]
(c) Windows.Online.Pl oraz http://www.fonty.pl/ 97-2004. Wszelkie
prawa zastrzeżone.
Wyszukiwarka
Podobne podstrony:
Struktura plików INF14 Linux cz 1 czym jest Linux, struktura plikówid4622009 SP Kat prawo cywilne cz II413 (B2007) Kapitał własny wycena i prezentacja w bilansie cz IIFotografia ślubna zdjęcia w plenerze, cz IIChoroby obturacyjne górnych dróg oddechowych u koni cz II(1)4 połączenia śrubowe cz IIAparat czy kamera Każdemu wg potrzeb, cz II – kamery zaawansowane9 cz IItest Chemia materiałów cz IIMaraton życia, cz IIJęz niemiecki w klasach dwujęzycznych arkusz cz IIwięcej podobnych podstron