| 26-02-06 12:22 Boot CD/DVD za Windows XP: II dio
 
  piše DRAGO RADIĆ
 
 
 Prije nastavka priče iz prvog dijela evo prikaza varijabli radnog okruženja kada se računalo 'podigne' s Boot CD-a.
   X:\i386\System32>set ALLUSERSPROFILE=B:\Documents and Settings\All Users
 AppData=B:\Documents and Settings\Default User\Application Data
 AutoRun=1
 CommonProgramFiles=%ProgramFiles%\Common Files
 COMPUTERNAME=SERVIS1
 ComSpec=X:\i386\system32\cmd.exe
 OS=Windows_NT
 path=B:;X:\i386;X:\i386\System;X:\i386\System32;X:\BAT; X:\PROGS;X:\TOOLS;X:\Bin
 PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
 ProfilesDir=B:\Documents and Settings
 ProgramFiles=%ProgramFiles%
 PROMPT=$P$G
 ramdrv=B:
 SystemDrive=X:
 SystemRoot=X:\i386 temp=B:
 tmp=B:
 USERPROFILE=B:\Documents and Settings\Default User
 windir=X:\i386
   Dakle, operativni sustav se nalazi na pogonu [X:], profili i  privremeni sadržaji na pogonu [B:], a windows mapa je [windir=X:\i386].
   Svaki plugin stoji u svojoj mapi. Ako ih uzimate s Interneta, zapakirani su u .CAB datoteku i mogu se izravno dodati iz nje izborom <Add> sa slike 3 iz prvog dijela, ili se raspakirano kopira. Sastav plugin-a koji će se dalje razmatrati prikazan je u narednom ispisu:
   E:\2xexplorer>dir Volume in drive E is Data
 Volume Serial Number is 1369-6913
 
 Directory of E:\2xexplorer
 
 04.01.06  23:07     <DIR>         .
 04.01.06  23:07     <DIR>         ..
 04.01.06  23:07             1'266 2xexplorer.htm
 04.01.06  23:07             1'156 2xexplorer.inf
 04.01.06  23:07               512 2xexplorer.xml
 04.01.06  23:07    <DIR>          files
 3 File(s)          2'934 bytes
 3 Dir(s)   9'502'711'808 bytes free
   Mapa sadrži .htm datoteku u kojoj je opis što plugin radi i kako ga uporabiti. Tu je i .inf datoteka u kojoj je IME plugin-a [PEBuilder – sekcija] koje se vidi u prozoru sa slike 3, status da li će se instalirati (0) ili ne (1), te svi potrebni podaci koje će sadržavati izgrađeni 'registry'. U .xml datoteci je sadržaj koji se pri postupku kreiranja CD-a pridoda [append - sekcija] osnovnom sadržaju datoteke nu2menu.xml u mapi [BartPE\Programs\Nu2Menu].
   Dakle mapa u kojoj je plugin i njegov naziv ne moraju biti isti. Ni mapa [files] ne mora postojati, niti se tako zvati, jer se sve što se plugina tiče nalazi u .inf datoteci, ali svi plugin-ovi s Interneta tako ga nazivaju.
   E:\2xexplorer>cd files E:\2xexplorer\files>dir
 Volume in drive E is Data
 Volume Serial Number is 1369-6913
 
 Directory of E:\2xexplorer\files
 
 04.01.06  23:07   <DIR>                   .
 04.01.06  23:07   <DIR>            ..
 01.01.05  01:01           154'780 2xexplorer.chm
 01.01.05  01:01           598'016 2xexplorer.exe
 04.01.06  23:07               765 ramdisk_2xex-Z1.CMD
 3 File(s)        753'561 bytes
 2 Dir(s)   9'502'711'808 bytes free
   Pa kad već postoji sloboda u nazivu mape plugin-a, radi preglednosti sam ih označavao na slijedeći način:
 [mapa] ; plugin koji treba sve od navedenog u mapi
 [_mapa] ; plugin koji sadrži neizvršive datoteke (upute) ili samo puni 'registry' za dodatnu potporu, recimo za COM port, miša, 16 bit-nu potporu i slično.
 [#mapa] ; dodatni driver-i koji nisu u mapi [drivers] kao recimo kabelski modem.
 [!mapa] ; mapa koja sadrži sve što ne spada u prethodne tri
 
 Iz primjera se vidi dodavanje datoteke ramdisk_2xex-Z1.CMD, što znači da će se program izvršiti s [B:]. U mapi [files] mogu se još kreirati datoteke kao autorun1_add-file.cmd ili autorun2_ramdisk.cmd. Broj nakon ključne riječi 'autorun' određuje redoslijed izvršavanja prilikom starta CD-a. Naravno i ova mogućnost je plugin koji ima svoj autorun.htm u kojem je opisano kako se to radi. Prvo treba pokrenuti dodavanje datoteka koje nedostaju i njihovu registraciju (recimo neke VB ili .NET datoteke), zatim auto-detekciju USB uređaja, podršku za mrežu i povezivanje na mrežu, ispis parametara na ekranu ili pak sve to složiti prema nekom drugom redoslijedu.
   Primjer .info datoteke za '2xexplorer'je:
   ; ---------------------------------------- ; PE Builder v3 plugin INF file for
 ; 2xexplorer Z1
 ;
 ; Plugin by Nikolaos Achilleos Bozinis (Ph.D.)
 ; http://netez.com/2xExplorer/
 ; N.Bozinis@ic.ac.uk
 ; Centre for Process Systems Engineering
 ; ----------------------------------------
 ; Created with PluginCreator
 
 [Version]
 Signature="$Windows NT$"
 
 [PEBuilder]
 Name="2xexplorer Z1"
 Enable=0
 Help="2xexplorer.htm" 
 [Append]
 nu2menu.xml, 2xexplorer.xml
 
 [WinntDirectories]
 a="Programs\2xexplorer",2
 
 [SourceDisksFiles]
 ; Program Files
 "files\2xexplorer.chm"=a,,1
 "files\2xexplorer.exe"=a,,1
 ; System Files
 "zipfldr.dll"=2
 "unrar.dll"=2
 ; Created Files
 "files\ramdisk_2xex-Z1.cmd"=a,,1
 
 [SourceDisksFolders]
 
 [Software.AddReg]
 ; HKLM\SOFTWARE
 ; XPE Shortcuts
 0x2, "Sherpya\XPEinit\Programs", "Utilities\2xexplorer Z1\2xex-Z1",
 "%SystemDrive%\Programs\2xexplorer\ramdisk_2xex-Z1.cmd|| %SystemDrive%\Programs\2xexplorer\2xexplorer.exe"
 
 [SetupReg.AddReg]
 ; HKLM\SYSTEM
 
 [Default.AddReg]
 ; HKU\.Default
 
 [Software.DelReg]
 ; HKLM\SOFTWARE
 
 [Default.DelReg]
 ; HKU\.Default
 
 [AddLine]
 
 [DelLine]
 
 [SetValue]
 ; ----------------------------------------
   Sekcija [PEBuilder] sadrži podatke o mapi plugina (može se po volji mijenjati), nazivu datoteke za pomoć (koja se ne mora zvati po imenu programa) te podatak Enable=1 ili Enable=0 što odlučuje da li će se plugin ukomponirati u CD ili neće. Ovaj podatak mijenja se kroz programsku potporu pebilder.exe (slika 3 iz prvog dijela) ili izravnim edit-iranjem .inf datoteke.
   Dijelovi na koje treba obratiti pažnju su [WinntDirectories], [SourceDisksFiles] i [Software.AddReg]. Prvo određuje gdje će se instalirati aplikacija s 'a=', 'b=' itd, znači može se definirati više odredišta. Drugo upućuje na mjesto gdje se nalaze datoteke u plugin-u, mapa [files] na primjer i u koje odredište treba da idu ka0 '=a,,1' ili '=b,,1' ili '=2'. Dakle mogu se definirati i brojevi (ID) koji određuju odredište prema narednoj tablici. Treće određuje što treba dodati u 'registry' da bi aplikacija ispravno radila kao mjesto instalacije S/N i slično. Ako je potrebno, ovi se podaci mogu eksportirati iz 'registry'-a računala na kojem je aplikacija instalirana kao .reg datoteka i konvertirati u .inf datoteku (ima besplatnih alata za to) u kojoj će se potom sadržaj pročistiti od 'viška' tipa početne dimenzije prozora, izgled i slično, te kopirati u [Software.AddReg].
   Umjesto punih imena datoteka i podacima o izvorištu mogu se koristiti zvjezdice (wildcard - *), ili sekcija [SourceDisksFolders].
   Najčešći korišteni ID su:
   
  
    
      | ID | Directory | Remark |  
      | 1 | \ | SystemRoot (on CD this is the \i386) |  
      | 2 | system32 |   |  
      | 3 | system32\config |   |  
      | 4 | system32\drivers |   |  
      | 5 | System |   |  
      | 17 | system32\drivers\etc |   |  
      | 20 | Inf |   |  
      | 21 | Help |   |  
      | 22 | Fonts |   |  
      | 24 | msagent\intl |   |  
      | 52 | Msagent |   |  
      | 124 | WinSxS |   |  
      | 128 | WinSxS\Manifests |   |  
      | 30000 | [root] | PE Builder Output Root |    To je samo dio ID-a. Na Internetu se može naći negdje cjelokupan popis.
   Datoteka 2xexporer.htm je uputa-pomoć koja se može napisati i dopunjavati po volji i nema bitnog značaja za izradu CD-a. Ne kopira se na CD.
   Sekcija 
 [Append] sadrži naziv datoteke tipa .xml čiji sadržaj se pridodaje sadržaju datoteke nu2menu.xml u mapi [BartPE\Programs\Nu2Menu]. Sadržaj datoteke za ovaj primjer je:
   <!-- Nu2Menu entry for "2xexplorer Z1" --><NU2MENU>
 <MENU ID="Programs"> <MITEM TYPE="POPUP" MENUID="Utilities">Utilities</MITEM>
 </MENU><MENU ID="Utilities">
 <MITEM TYPE="POPUP" MENUID="2xexplorer Z1">2xexplorer Z1</MITEM>
 </MENU><MENU ID="2xexplorer Z1">
 <MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\ Programs\2xexplorer\ramdisk_2xex-Z1.cmd))" CMD="RUN" FUNC="@GetProgramDrive()\Programs\2xexplorer\ramdisk_2xex-Z1.cmd" PARM="1">2xex-Z1</MITEM>
 </MENU>
 </NU2MENU>
   Preporuka je da se ova datoteka editira i da se doda prazan red na početku i na kraju, kako bi se ostvario razmak i konačna nu2menu.xml datoteka učinila preglednijom.
   Ovaj kod znači da će se u glavnom izborniku izraditi podizbornik 'Programs' (podrazumno već postoji u nu2menu.xml), u kojem će biti podizbornik 'Utilities' u kojem je pojam '2xexplorer Z1' koji poziva na izvršavanje 2xexplorer.exe iz ramdisk-a preko datoteke ramdisk_2xex-Z1.CMD u kojoj je sadržaj: 
 @echo off
 :: ----------------------------------------
 :: RAMDISK_2XEX-Z1.CMD - Script to start
 :: "2xexplorer.exe" From BartPE
 :: Adapted from adaware.cmd
 :: created by Bart Lagerweij.
 :: -----------------------------------------
 echo RAMDISK_2XEX-Z1.CMD: Starting...
 setlocal
 if "%temp%" equ "" goto ERR
 if exist "%temp%\2xexplorer\2xexplorer.exe" goto RUN
 echo RAMDISK_2XEX-Z1.CMD: Copying "%~dp0*.*" to "%temp%\2xexplorer\"
 xcopy /s "%~dp0*.*" "%temp%\2xexplorer\"
 :RUN
 start "" "%temp%\2xexplorer\2xexplorer.exe"
 goto END
 :ERR
 echo.
 echo RAMDISK_2XEX-Z1.CMD: No temp variable set...
 echo RAMDISK_2XEX-Z1.CMD: This plugin needs a ramdisk...
 echo.
 pause
 :END
 endlocal
   Obje datoteke mogu se naknadno prepravljati, ako se ukaže potreba. Prepravlja se dio koji u .xml datoteci slijedi po navodu <MENU ID="2xexplorer Z1">. Pri prepravkama .xml datoteka treba paziti na velika i mala slova u definiranju ID-ja, jer se različito tumače.
   Osnovna prepravka može biti u slijedećem:
   <MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\Progs\PROGRAM1.EXE))" ..
 
 <MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetWinDir()\system32\
 PROGRAM2.EXE))" ..
   Prva će se izvršiti kada se CD pokrene na već 'podignutim' Windowsima na računalu, što znači da će 'START' dugme prekriti dugme 'BART' i moguće je koristiti programe s CD-a ako ne traže ramdisk. Zgodno, jer se može koristiti programska potpora na CD-u. Druga će se izvršiti samo kad se računalo boot-a s Bart CD-a. To određuje varijabla okruženja @GetProgramDrive ili @GetWinDir. Varijabla 'WinDir' nema isti sadržaj za Windows-e i Bart-a.
   Kada je izrada ISO datoteke gotova, još uvijek je moguće 'izvaditi' iz nje nu2menu.xml, presložiti ga po guštu i vratiti.
   Izradom plugina pozabavit ćemo se u trećem nastavku. 
 
 |