Struktur Dasar Skrip NSIS

NSIS (Nullsoft Scriptable Install System) adalah sebuah program pembuat installer yang membutuhkan sebuah skrip NSIS untuk menuliskan langkah-langkah instalasi dengan perintah-perintah tertentu. Sebagaimana layaknya sebuah program, skrip NSIS yang berbentuk file berekstensi “nsi” ini memiliki struktur dan sintaks tertentu yang harus diikuti. Rangkaian perintah di dalam sebuah skrip NSIS dapat terdiri dari beberapa baris saja untuk sebuah installer yang sederhana, atau sebuah file skrip yang cukup panjang jika langkah instalasinya kompleks. Artikel kali ini akan menjelaskan struktur dasar dari sebuah skrip NSIS yang memenuhi secara minimum.

Versi NSIS yang digunakan oleh penulis adalah 2.46, walaupun Anda bebas menggunakan versi yang lebih baru.

Secara umum struktur sebuah skrip NSIS terdiri dari beberapa bagian sebagai berikut:

Bagian Fungsi
Header Skrip di bagian awal yang berguna untuk menetapkan:Nama aplikasi, nama file installer, lokasi default instalasi dan sebagainya.
Page Window instalasi yang ingin ditampilkan, misalnya informasi lisensi aplikasi, pemilihan komponen yang akan diinstal, pemilihan folder lokasi instalasi dan proses instalasi.
Section (dapat terdiri dari beberapa section) Section adalah inti dari langkah-langkah instalasi. Sebuah skrip dapat terdiri dari beberapa section jika di dalam installer terdapat beberapa komponen yang akan diinstal. Setiap section mewakili sebuah komponen.
Uninstall Section Section yang berisi langkah-langkah penghapusan instalasi.

1. Header

Berikut ini contoh skrip standar untuk sebuah header.

Penjelasan:

  • Name digunakan untuk menetapkan nama aplikasi yang akan diinstal. Nama ini akan ditampilkan pada title bar dari window installer.
  • OutFile adalah nama file installer/file EXE yang dihasilkan dari hasil compile.
  • InstallDir adalah lokasi instalasi default. Lokasi ini bisa diganti pada saat melakukan instalasi.

Beberapa pilihan lokasi instalasi yang bisa digunakan:

Lokasi Keterangan
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64  Lokasi folder “Program Files”, biasanya “C:\Program Files” tetapi akan otomatis terdeteksi oleh NSIS pada saat installer dijalankan. Pada Windows x64, $PROGRAMFILES dan $PROGRAMFILES32 mengarah ke “C:\Program Files (x86)”, sementara $PROGRAMFILES64 mengarah ke “C:\Program Files”. Gunakan $PROGRAMFILES64 ketika menginstal aplikasi x64.
$COMMONFILES, $COMMONFILES32, $COMMONFILES64 Lokasi folder “Common Files”. Ini adalah folder untuk file-file yang bisa digunakan oleh seluruh aplikasi, biasanya “C:\Program Files\Common Files” tetapi akan otomatis terdeteksi oleh NSIS pada saat installer dijalankan. Pada Windows x64, $COMMONFILES dan $COMMONFILES32 mengarah ke C:\Program Files (x86) \Common Files sementara $COMMONFILES64 mengarah ke C:\Program Files\Common Files. Gunakan $COMMONFILES64 ketika menginstal aplikasi x64.
$DESKTOP Lokasi folder “Desktop”, biasanya C:\Windows\Desktop tetapi akan otomatis terdeteksi oleh NSIS pada saat installer dijalankan
$WINDIR Lokasi folder Windows, biasanya C:\Windows atau C:\WinNT tetapi akan otomatis terdeteksi oleh NSIS pada saat installer dijalankan.
$SYSDIR Lokasi folder sistem Windows, biasanya C:\Windows\System atau C:\WinNT\System32 tetapi akan otomatis terdeteksi oleh NSIS pada saat installer dijalankan.

 

  • RequestExecutionLevel adalah level eksekusi yang digunakan pada Windows versi Vista dan yang lebih baru. Pilihan yang bisa digunakan adalah:
  • none
  • user
  • highest
  • admin

Yang umum digunakan adalah user atau admin.

2. Page

Pada versi yang digunakan penulis, NSIS memiliki 2 macam tampilan antar muka NSIS yaitu klasik dan modern. Perbedaan keduanya akan tampak pada saat page/window ditampilkan. Pada pembahasan yang pertama akan diperlihatkan antar muka klasik.

Page yang ada pada tampilan klasik adalah sebagai berikut:

Page Fungsi
license Menampilkan window lisensi.
components Menampilkan komponen yang akan dinstal. Setiap komponen didefinisikan di dalam sebuah section.
directory Menampilkan lokasi instalasi. Lokasi ini dapat diubah sesuai pilihan pengguna.
instfiles Menampilkan proses install.
uninstConfirm Menampilkan konfirmasi saat proses uninstall.
UninstPage instfiles Menampilkan proses uninstall.

 

Berikut ini contoh skrip standar untuk page.

 

3. Section

Section adalah inti dari langkah-langkah instalasi. Di bagian inilah baris-baris perintah diletakkan untuk menjalankan proses instalasi secara detail seperti pembuatan folder lokasi instalasi, pembuatan shortcut di menu Start à All Programs, penyalinan file-file, pembuatan Windows registry dan sebagainya.

Untuk setiap langkah ada sejumlah perintah-perintah berikut sintaksnya yang harus digunakan. Misalnya berikut ini adalah contoh baris-baris perintah untuk membuat folder instalasi dan menyalin file-file ke dalamnya:

Untuk mengetahui perintah-perintah yang harus digunakan untuk langkah-langkah instalasi, pertama-tama Anda dapat membaca user manual yang disertakan di dalam NSIS pada bagian “Scripting Reference”. Langkah kedua adalah Anda perlu meluangkan waktu untuk mempelajari contoh-contoh skrip NSIS yang ada di dalam folder “Examples” pada lokasi instalasi NSIS. Langkah yang ketiga adalah mencari referensi di Internet untuk kebutuhan-kebutuhan instalasi yang khusus, karena di sana tersedia banyak trik dan tips yang bermanfaat.

Sebagai gambaran berikut ini adalah contoh skrip NSIS dengan beberapa section.

Silakan menyimpan skrip di atas menjadi sebuah file nsi dan compile menjadi sebuah installer (file exe). Tampilan saat program installer dijalankan adalah sebagai berikut. Perhatikan bahwa page yang ditampilkan adalah antar muka klasik.

Tampilan page license:

nsis-basic-01

Tampilan page components:

nsis-basic-02

Tampilan page directory:

nsis-basic-03

Tampilan page instfiles:

nsis-basic-04

Hasil instalasi adalah sebuah folder Example1 di dalam desktop.

nsis-basic-05

Jalankan file uninstall.exe untuk menghapus instalasi.

Tampilan UninstPage uninstConfirm:

nsis-basic-06

Tampilan UninstPage instfiles:

nsis-basic-07

4. Tampilan Modern

Pada bagian ini diperkenalkan antar muka dengan tampilan modern. Kita akan melakukan beberapa modifikasi kecil pada skrip yang sebelumnya untuk mengadaptasi ke tampilan modern ini.

Hal yang pertama adalah menambahkan baris berikut ini pada bagian paling awal skrip. Perintah ini adalah untuk mereferensi file skrip MUI2.nsh yang sudah dipersiapkan NSIS untuk tampilan yang baru.

 

Selanjutnya skrip pada bagian page diubah menjadi seperti berikut ini.

 

Berikut ini adalah skrip selengkapnya setelah dimodifikasi.

 

Berikut ini adalah tampilan installer ketika dijalankan setelah skrip dimodifikasi. Perhatikan page/window yang sudah berubah menjadi tampilan modern.

Tampilan MUI_PAGE_LICENSE:

nsis-basic-08

Tampilan UI_PAGE_COMPONENTS:

nsis-basic-09

Tampilan MUI_PAGE_DIRECTORY:

nsis-basic-10

Tampilan MUI_PAGE_INSTFILES :

nsis-basic-11

Tampilan MUI_UNPAGE_CONFIRM:

nsis-basic-12

Tampilan MUI_UNPAGE_INSTFILES:

nsis-basic-13

Silakan Anda membandingkan tampilan antar muka modern ini dengan antar muka klasik sebelumnya.

Selain page yang ditampilkan di atas, berikut ini adalah daftar page selengkapnya yang bisa ditampilkan pada antar muka modern ini.

Installer Pages:

  • MUI_PAGE_WELCOME
  • MUI_PAGE_LICENSE text/rtf_file
  • MUI_PAGE_COMPONENTS
  • MUI_PAGE_DIRECTORY
  • MUI_PAGE_STARTMENU page_id variable
  • MUI_PAGE_INSTFILES
  • MUI_PAGE_FINISH

Uninstaller Pages:

  • MUI_UNPAGE_WELCOME
  • MUI_UNPAGE_CONFIRM
  • MUI_UNPAGE_LICENSE text/rtf_file
  • MUI_UNPAGE_COMPONENTS
  • MUI_UNPAGE_DIRECTORY
  • MUI_UNPAGE_INSTFILES
  • MUI_UNPAGE_FINISH

Demikianlah penjelasan struktur dasar skrip NSIS dan tampilan page/window installer secara singkat yang dapat dijelaskan oleh artikel ini.

end-of-doc

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *