ricoroco.com

Windows & PC/Files Zone => UNATTENDED - Instalacje Nienadzorowane => Wątek zaczęty przez: Yurek3 07.01.2007, 22:31:16



Tytuł: Instalacja dwupłytowa
Wiadomość wysłana przez: Yurek3 07.01.2007, 22:31:16
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