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 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ó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. 
Jeżeli instalujemy pierwszy kontroler CD-ROM będzie to

HKLMSystemCurrentControlSetServicesClassAdapter000

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 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, RenFilesCopyFiles w sekcjach [Install]. Z [DestinationDirs] pobierają one nazwy folderów. Dla DelFiles 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.

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. 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 

KONTAKT

NETSKY P.K.

TEL.: 518-348-082

SMS.: 518-348-082




darmowe mp3, nowe mp3, najnowsze mp3
Songs.pl - darmowe mp3, najlepsze teledyski, disco polo, italo disco, przeboje lat 80
Test your Internet connection speed at Speedtest.net
Ta strona internetowa została utworzona bezpłatnie pod adresem Stronygratis.pl. Czy chcesz też mieć własną stronę internetową?
Darmowa rejestracja