Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Automatyzacja instalacji w Windows – część 1 : NSIS

Jakiś czas temu pewnego nudnego dnia w pracy instalując masę programów na świeżych komputerach zacząłem się zastanawiać, czy nie można by było tego jakoś przyśpieszyć lub zautomatyzować. Po kilku kliknięciach OK., NEXT, ACCEPT byłem już przekonany, że na pewno chcę coś takiego zrobić. Napisałem sobie kilka kryteriów, które musiałby być spełnione tj:

1) Instalator musi mieć możliwość wyboru co ma być zainstalowane
2) Nie wymaga ingerencji w to co się dzieje czyli clik&kawa :)
3) Najlepiej jak by instalacja była przeprowadzano w trybie silent

Więc do dzieła!

Pierwszy punkt wydał mi się bardzo prosty – napisać program w C# składający się z kilku checkboxów i oprogramować to odpowiednio. Jednak czy nie można jeszcze prościej ? Otóż można! Z pomocą przyszła mi firma… Nullsoft. Otóż wydała ona na licencji open source znakomity – jak dla mnie – system skryptowy nazwany NSIS. Jest on znany choćby z instalatora Winampa oraz Emule.
Oto cały kod instalatora przedstawionego na screenie nr. 1 version 0.1 Name "iNSTALLKA_ by pow3r_shell" OutFile "instalka_test.exe" Page components Page instfiles Section /o "vnc" ExecWait '"NSIS\vnc\tightvnc.exe" /sp- /verysilent'"' SectionEnd Section "Office 2003_SP3" ExecWait 'NSIS\Office2003_SP3_UNT\setup.exe" TRANSFORMS=C:\Office\1.MST /qb-' SectionEnd Section "Compatybility Pack" ExecWait '"NSIS\Office2003_SP3_UNT\comp3.0.exe" /quiet' SectionEnd Section "McAffee" ExecWait '"NSIS\framepkg.exe" /INSTALL=AGENT /SILENT' SectionEnd Tak to jest cały kod tego instalatora. Celowo nie stosowałem tutaj farejwerków, aby uzmysłowić prostotę składni i moc narzędzia. NSIS ma jeszcze wiele przydatnych funkcji takich jak tworzenie dezinstalatorów, kluczy rejestru, skrótów, kopiowania i usuwania plików itp. Dodatkową zaletą jest to, że nie musimy integrować do wynikowego pliku tych wszystkich programów(choć też jest taka możliwość).

Garść przydatnych linków:

Strona główna NSIS Manual do NSIS po polsku Graficzne środowisko NSIS  

Komentarze

0 nowych
  #1 13.05.2010 11:16

Może automatyzacja?

StawikPiast   10 #2 13.05.2010 12:12

to nie macie w pracy serwerow z Windows server? jak tak to sa inne fajne narzedzia z ms-u, jak RIS i nowsze

pow3r_shell   7 #3 13.05.2010 12:48

@StawikPiast Do RIS i WDS potrzebna jest domena a u nas jest grupa robocza. Sam system serwerowy nie wystarczy. Poza tym WDS nie rozwiąże Ci problemu, jeśli masz kompa z postawionym już systemem, a takich przychodzi większość. Założenia projektu spełniałby SCCM jednak to jest drogie rozwiązanie - cena sccm+ SQL + licencja per klient. Wiesz ile to $$ ?

  #4 13.05.2010 14:27

btw. słuchasz black metalu? polecasz coś? (np. z symfonicznego blacku)

pow3r_shell   7 #5 13.05.2010 16:28

Bal-Sagoth lub pseudo synfoniczny Profanum z polski. Więcej znajdziesz na http://www.metal-archives.com/ . Nie słucham symfonicznego - dla mnie to nuda

  #6 13.05.2010 16:42

to posłuchaj Anorexia Nervosa na youtubie

pawcio1212   6 #7 13.05.2010 20:40

fajnie jak ktoś dałby poradnik na DP

  #8 13.05.2010 22:04

do tego typu instalacji nie potrzeba zadnego zewnetrznego softu ;)

wiekszosc programow mozna uruchamiac z parametrami, a pliki .msi instaluje sie juz dziecinnie prosto

wystarczy przygotowac bat'a z lista komend (programow) do zainstalowania i jedziemy :)

przy braku domeny, czyli brakiem ris/wds, dobrym rozwiazaniem jest instalacja systemu z obrazu. oczywiscie sprawdza sie to w srodowisku w ktorym uzywana sie max kilku typow maszyn. swietnie sprawdza sie narzedzie sieciowe PING (Ping Is Not Ghost), umozliwia zainstalowania po siecie (wymagana mozliwosc uruchomienia kompa z karty sieciowej PXE) dowolnego typu systemu operacyjnego w 30 minut. oczywiscie w kazdym swiezo postawionym kompie trzeba ustawic nazwe maszyny itp, ale przy 100 kompach lepsze to niz reczna instalacja systemu / softu na kazdym :)

co najwazniejsze, PING jest w pelnie darmowy, ale trzeba znac troche linuxa i miec maszyne z linuchem w robocie :)

pow3r_shell   7 #9 14.05.2010 11:45

@XAXA
1) nie każdy instalator ma pliki MSI ( np. Oracle )
2) Ping ma zasadniczą wadę - podobnie jak WDS - nie zainstalujesz systemu jeśli wcześniej nie przygotujesz sobie pliku odpowiedzi - czyli wcześniej nie zbierzesz informacji o sterownikach. Nie opłaca sie robić tego dla jednej maszyny.
Z kolei jak zainstalujesz czysty system to potem bedziesz się bujał ze sterownikami. Instalator ma to udogodnienie, że możesz instalować tylko te aplikacje które są aktualnie potrzebne. Można też instalować aplikacje w trakcie użytkownia . Przykład ? masz kompa gdzie masz tylko RDP a chcesz VNC ( ze zdefionowanym wcześniej hasłem), Offica 2003 + compatybility pack i antywirusa. NSIS robi wszystko za Ciebie + wysyła loga o powodzeniu/niepowodzeniu instalacji. Zazwyczaj instalujemy 2-3 programy na każdym kompie, ale mamy jeszcze 20 opcjonalnych
4 są komputery które nie są na miejscu tylko w lokalizacjach zewnetrznych i poprzez nsis można równie szybko zainstalować, bez niepotrzebnych ceregieli.
5) baty nie zawsze działają na komputerach z działającym UAC
@dsgsh znam ten zespół - Słucham metalu od ponad 11 lat (choć nie tylko metalu )