Membuat paket instalasi update program menggunakan NSIS
Masalah update program adalah masalah klasik untuk para programmer aplikasi desktop, bagaimana tidak biasanya kita selalu disibukan dengan masalah yang satu ini. Update… update… dan update … apalagi dengan jumlah klien yang banyak wahhhh cape deh.
Sebenarnya proses update sendiri pada dasarnya adalah masalah sederhana “tinggal copy program yang baru untuk menimpa program yang lama”. Permasalahan biasanya muncul jika yang harus melakukan update adalah klien kita yang benar^5 END USER . Ya mungking cuma bisa ngetik di word atau mantan operator dos yang baru pindah ke windows de el el.
Sehingga dengan adanya program update yang baik “User nyaman kita pun tenang” .
NSIS (Nullsoft Scriptable Install System) merupakan tool untuk membuat paket instalasi dengan lisensi open source.
Ada satu hal penting sebelum kita bisa membuat paket instalasi update program yaitu mengetahui informasi dimana program kita diinstall.
Ada banyak cara untuk melakukan hal ini :
1. Mencatat lokasi program pada saat instalasi
InstallDirRegKey HKCU "Software\PT ALBASI\SPBB" "installDir"
2. Mencatat lokasi program pada saat start up
contoh menggunakan vb
Public Sub Main()
Call saveString(HKEY_CURRENT_USER, "Software\PT ALBASI\SPBB", "installDir", App.Path)
End Sub
Contoh skrip sederhana untuk membuat paket instalasi update :
!define APP_NAME "SPBB PT ALBASI"
Name "${APP_NAME}"
OutFile "output\updateAlbasi.exe"
Icon "setup.ico"
ShowInstDetails nevershow
XPStyle on
RequestExecutionLevel admin
Var INSTALL_DIR
Function .onInit
MessageBox MB_YESNO|MB_ICONQUESTION "Apakah proses update ${APP_NAME} ingin dilanjutkan ?" /SD IDYES IDYES yes IDNO no
yes:
SetSilent silent
Goto done
no:
Abort
done:
;ambil informasi lokasi instalasi
ReadRegStr $INSTALL_DIR HKCU "Software\PT ALBASI\SPBB" "installDir"
IfFileExists $INSTALL_DIR\Albasi.exe lanjut batal
batal:
MessageBox MB_ICONSTOP|MB_OK "Lokasi instalasi ${APP_NAME} tidak ditemukan. Proses update batal"
Abort
lanjut:
FindWindow $0 "" "${APP_NAME}"
StrCmp $0 0 lanjut2
MessageBox MB_ICONSTOP|MB_OK "Program SPBB Albasi sedang dijalankan.$\nSilakan tutup aplikasi tersebut terlebih dahulu."
Abort
lanjut2:
SetOutPath "$INSTALL_DIR"
File "core\exe\Albasi.exe" ;file program utama
MessageBox MB_ICONINFORMATION|MB_OK "Proses update ${APP_NAME} selesai"
FunctionEnd
Section ""
SectionEnd
Untuk memperkecil ukuran file update Anda bisa menggunakan plugin VPatch (sudah include pada saat instalasi NSIS) dengan menggunakan VPatch yang dicatat hanya perbedaan versi sebelumnya dengan yang terakhir sehingga bisa memperkecil ukuran file update.
Artikel berikutnya masih dengan judul yang sama tetapi menggunakan inno setup.
Selamat mencoba
Comments