Home > NSIS, Tools Installer > Membuat paket instalasi update program menggunakan NSIS

Membuat paket instalasi update program menggunakan NSIS

December 29, 2009

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🙂

  1. November 25, 2011 at 3:47 am

    Mas boleh saya diberikan contoh source codenya mas. Mohon bantuannya mas. Mas boleh dikirik ke email saya aja ya mas suh4nd4n4@yahoo.com

    • November 25, 2011 at 5:54 am

      Loh diatas itu bukannya udah source code om ?

  2. November 28, 2012 at 10:04 am

    terima kasih contohnya sangat bagus

  1. No trackbacks yet.
Comments are closed.
%d bloggers like this: