Membuat paket instalasi update program menggunakan Inno Setup
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” .
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
Comments