Mendeteksi Java dari Installer NSIS

Pada artikel ini akan dijelaskan cara installer Nullsoft Scriptable Install System (NSIS) mendeteksi apakah pada komputer user telah terinstal Java atau belum. Langkah pemeriksaan ini sangat diperlukan jika aplikasi yang ada di dalam installer adalah sebuah program yang dibuat dengan bahasa pemrograman Java. Pendeteksian Java pada saat instalasi aplikasi sangat krusial, karena jika Java belum terinstal maka aplikasi yang bersangkutan mestinya tidak akan bisa bekerja. Itu sebabnya hasil pendeteksian harus disampaikan kepada user dan memintanya untuk menginstal Java terlebih dahulu.

Pendeteksian Java yang perlu dilakukan tepatnya adalah memeriksa apakah Java Runtime Environment (JRE) atau Java Development Kit (JDK) telah diinstal atau belum. Teknik pendeteksian Java oleh NSIS adalah dengan membaca nilai-nilai pada Windows registry pada lokasi:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

dan

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit

Urutan pemeriksaannya dapat ditentukan oleh programmer sesuai kebutuhannya, apakah JRE atau JDK terlebih dahulu. Selanjutnya nilai yang dibaca adalah di dalam key:

  1. CurrentVersion, untuk mengetahui versi Java yang terintal
  2. JavaHome, untuk mengetahui letak direktori instalasi Java

Perintah NSIS yang digunakan untuk membaca Windows registry adalah ReadRegStr. Berikut ini adalah sintaks dari perintah tersebut.

ReadRegStr user_var root_key sub_key name

Keterangan:

  • user_var adalah variabel untuk menampung hasil pembacaan registry
  • root_key adalah key dasar dari registry yang ingin dibaca dalam hal ini HLKM atau HKEY_LOCAL_MACHINE.

Nilai valid yang bisa digunakan adalah:

HKCR atau HKEY_CLASSES_ROOT

HKLM atau HKEY_LOCAL_MACHINE

HKCU atau HKEY_CURRENT_USER

HKU atau HKEY_USERS

HKCC atau HKEY_CURRENT_CONFIG

 

  • sub_key adalah key dibawah root_key dasar dari registry yang ingin dibaca, misalnya “SOFTWARE\JavaSoft\Java Development Kit” atau
  • name adalah key yang ingin dibaca, misalnya “CurrentVersion”

 

Contoh:

ReadRegStr $2 HKEY_LOCAL_MACHINE “SOFTWARE\JavaSoft\Java Development Kit” “CurrentVersion”

 

Pada contoh diatas, $2 adalah register yang digunakan sebagai variabel output. NSIS menyediakan cukup banyak register yang bisa digunakan sebagai variabel: $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9.

Untuk memberikan gambaran yang jelas, berikut ini adalah sebuah skrip NSIS yang lengkap sehubungan dengan uraian di atas.

 

Berikut ini adalah tampilan ketika program dijalankan:

nsis-java-01

Pembaca dapat membandingkan nilai yang dibaca oleh skrip NSIS tersebut dengan nilai-nilai Windows registry yang dibaca langsung dengan menggunakan regedt32.exe.

Contoh pembacaan JDK:

nsis-java-02

Contoh pembacaan JRE:

nsis-java-03

Demikianlah tips singkat untuk mendeteksi instalasi Java dengan installer NSIS dan mengontrol aliran langkah instalasinya.

 

end-of-doc

Leave a Reply

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