![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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.
Ż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:
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ótHKR, 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. HKLMSystemCurrentControlSetServicesClassAdapter 000
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, RenFilesi 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 wierszuDefaultDestDir. 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.
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]. 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. 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żkaplik.inf |
![]() |