Membuat paket instalasi update program menggunakan Inno Setup

Posted by Kamarudin • 1 minute read • Comments

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 … :grin: 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 :grin:. 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” :grin:.

Inno Setup 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

Contoh:

[Registry]
Root: HKCU; Subkey: "Software\PT ALBASI\SPBB"; ValueName: "installDir"; ValueType: String; ValueData: {app}; Flags: uninsdeletevalue

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 :

[Setup]
AppName=Update Sistem Pembelian Bahan Baku
AppVerName=Update Sistem Pembelian Bahan Baku Versi 1.0.0.00
AppPublisher=K4m4r82's Laboratory
AppPublisherURL=http://coding4ever.wordpress.com/
AppVersion=1.0.0.00
AppCopyright=Copyright © 2009. K4m4r82's Laboratory
VersionInfoVersion=1.0.0.00
OutputBaseFilename=updateAlbasi
DisableProgramGroupPage=yes
CreateAppDir=no
Compression = lzma
SolidCompression = yes
LanguageDetectionMethod=none
ShowLanguageDialog=no
PrivilegesRequired = admin
SetupIconFile=Setup.ico
WizardImageFile=SetupModern21.bmp
WizardSmallImageFile=SetupModernSmall21.bmp
CreateUninstallRegKey=no

[Languages]
Name: ina; MessagesFile: compiler:Indonesia.isl

[Files]
Source: "core\exe\Albasi.exe"; DestDir: "{code:GetAppPath}"; Flags: ignoreversion

[Code]
var
  installDir : string;

function InitializeSetup(): Boolean;
var
  ResultCode: Integer;
  FileName: string;

begin
  // CEK APLIKASI SEDANG JALAN ATAU TIDAK
  if FindWindowByWindowName('SPBB PT ALBASI') > 0 then
  begin
      MsgBox('Program SPBB PT ALBASI sedang dijalankan.'#10'Silakan tutup aplikasi tersebut terlebih dahulu.', mbInformation, MB_OK);
      Result := False;
  end

  Result := True;
  RegQueryStringValue(HKEY_CURRENT_USER, 'Software\PT ALBASI\SPBB', 'installDir', installDir);

  if installDir = '' then
  begin
      MsgBox('Lokasi instalasi Program SPBB PT ALBASI tidak ditemukan.'#10'Proses update batal.', mbInformation, MB_OK);
      Result := False;
  end
  else
  begin
      Result := True;
  end
end;

function GetAppPath(Param: string): string;
begin
  Result := installDir;
end;

Untuk memperkecil ukuran file update Anda bisa menggunakan plugin VPatch dengan menggunakan VPatch yang dicatat hanya perbedaan versi sebelumnya dengan yang terakhir sehingga bisa memperkecil ukuran file update. File patch yang dihasilkan juga bisa digunakan untuk inno setup

Selamat mencoba :blush:

Comments