Tytuł: Dwu-płytowa Instalacja Wiadomość wysłana przez: Yurek3 13.02.2007, 01:37:59 Niektórym z nas przygotowana instalacja nienadzorowana zajmuje więcej miejsca niż posiada jedna płytka CD, a nagrywarka DVD ciągle jednak jest rzadkością. Pokażę tutaj prosty sposób jak podzielić swą instalację na dwie płyty, na jednej możemy umieścić naszego WindowsXP, sterowniki i inne potrzebne nam rzeczy, a na drugiej wszystkie programy np.MsOffice.
Najpierw musimy pamiętać o tym, iż wszystkie nasze programy są instalowane po pierwszym logowaniu do systemu, więc plik.cmd instalujący te programu uruchomiony powinien być z naszego pliku winnt.sif lub też RunOnceEx W przykładzie uruchomimy go z pliku winnt.sif, więc tworzymy w nim wpis: Kod: [GuiRunOnce] %systemdrive%\install\cd_programy.cmd Więc jak się domyślmy, tworzymy teraz plik cd_programy.cmd Kod: CLS @ECHO OFF ECHO. ECHO Wysuwanie CD-ROM ECHO Jeśli uzywasz drugiej płyty CD/DVD ECHO Włóż ją teraz ECHO Wyjmując pierwszą ECHO. ECHO Za chwilę CD-ROM zostanie otworzony start cscript %systemdrive%\install\cd_eject.vbs >null PSKill cscript.exe >null ECHO. PAUSE IF EXIST %systemdrive%\install\programy.cmd GOTO PROGRAMY SET CDROM2= IF EXIST D:\install\programy.cmd SET CDROM2=D: IF EXIST E:\install\programy.cmd SET CDROM2=E: IF EXIST F:\install\programy.cmd SET CDROM2=F: IF EXIST G:\install\programy.cmd SET CDROM2=G: IF EXIST H:\install\programy.cmd SET CDROM2=H: IF EXIST I:\install\programy.cmd SET CDROM2=I: IF EXIST J:\install\programy.cmd SET CDROM2=J: IF EXIST K:\install\programy.cmd SET CDROM2=K: IF NOT EXIST %CDROM2%\install\programy.cmd GOTO PROGRAMY ECHO Pliki są teraz kopiowane na dysk twardy ECHO Proszę czekać xcopy %CDROM2%\install %systemdrive%\install\ /S /C /Q /H /Y ECHO. :PROGRAMY :: cmdow @ /hid :: ECHO Instalowanie programów :: ECHO. :: start /wait %systemdrive%\install\programy.cmd :INNE IF NOT EXIST %systemdrive%\install\inne.CMD GOTO ERROR :: ECHO Tutaj jest miejsce na uruchomienie dodatkowego :: ECHO pliku .cmd :: ECHO. :: start /wait %systemdrive%\install\inne.CMD GOTO END :ERROR IF NOT EXIST %systemdrive%\install\inne.CMD GOTO _ECHO GOTO END :_ECHO ECHO. ECHO *******************UWAGA******************* ECHO Plik inne.cmd nie zostal odnaleziony ECHO Wiec nie zostal wykonany ECHO. :: ECHO Sprawdź %systemdrive%\install\install.log :: ECHO Aby dowiedzieć sie więcej ECHO *******************UWAGA******************* ECHO. PAUSE :END ECHO. ECHO Za 30 sekund komputer uruchomi się ponownie shutdown -r -f -t 30 -c "Komputer się zrestartuje za 30 sekund, w tym czasie zainstalowane programy mają czas na zarejestrowanie się" ECHO. ::ECHO Kasowanie tymczasowych plików ::RD /S /Q %systemdrive%\install ::RD /S /Q %systemdrive%\Drivers ::ECHO. EXIT Powyższy plik mozemy użyć w naszej instalacji, bez względu na to czy używamy jednej czy też dwu płyt do naszej instalacji, jak widzimy Kod: IF EXIST %systemdrive%\install\programy.cmd GOTO PROGRAMY W tej linii zostaje przeszukany nasz skopiowany folder Install z CD1 w celu odnalezienia pliku programy.cmd. Dopiero gdy takowy odnaleziony nie zostaje, zaczyna się przeszukiwanie innych dysków w celu odnalezienia tego pliku. Czyli jeśli używamy dwóch płyt nasz programy.cmd powinien znajdować się na tej drugiej w katalogu Install, gdzie zostanie odszukany i a następnie cały katalog Install skopiowany na dysk. Po czym programy.cmd zostaje uruchomiony. Sekcja Inne jest tutaj tylko przykładowa, plik inne.cmd możemy zastąpić dowolnym plikiem .cmd w celu wykonania dodatkowych czynności, jak np. doinstalowanie innych programów, czy też zaaplikowania registry tweaks, czy cokolwiek innego, jak również może być zupełnie usunięta z naszego pliku cd_programy.cmd. Jak przeanalizujemy powyższy plik, możemy się domyślić, że w podobny sposób możemy do naszej instalacji dodać dowolną ilość płyt CD. cd_programy.cmd musimy oczywiście umieścić na naszej pierwszej płycie CD w katalogu Install razem z małym plikiem cd_eject.vbs ,który ma za zadanie otworzyć nasz CD-ROM w celu zmiany płyty. Plik ten wygląda następująco: Kod: Set oWMP = CreateObject("WMPlayer.OCX.7" ) Set colCDROMs = oWMP.cdromCollection if colCDROMs.Count >= 1 then For i = 0 to colCDROMs.Count - 1 colCDROMs.Item(i).Eject Next ' cdrom End If |