Home > Inno Setup, Tools Installer > Menambahkan skin pada paket instalasi (Inno Setup)

Menambahkan skin pada paket instalasi (Inno Setup)

March 31, 2010

Inilah krennya inno setup selain gratis dan open source juga banyak tersedia Third-Party Files, salah satunya ISSkin dari codejock.

Sebelum kita menambahkan skin, kita lihat dulu tampilan standar paket instalasi yang dibuat menggunakan inno setup.

Dan kita lihat setelah menambahkan skin

Gimana ? Menarik bukan ?🙂

Oke langsung saja download sample ISSkin disini, ekstrak file ISSkinExample.zip dan terakhir jalankan file ISSkin.exe

Apakah cukup seperti itu saja ? Tentu tidak, kita harus menambahkan beberapa baris kode pada skrip inno setup di bagian [Files] dan [Code].

[Files]
; Add the ISSkin DLL used for skinning Inno Setup installations.
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy

; Add the Visual Style resource contains resources used for skinning,
; you can also use Microsoft Visual Styles (*.msstyles) resources.
Source: Styles\Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy

; The following code block is used to load the ISS, pass in
; NormalAqua.ini as the second parameter to LoadSkin to use
; the Aqua color scheme instead of the default Blue color
; scheme.
[Code]
// Importing LoadSkin API from ISSkin.DLL
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

// Importing UnloadSkin API from ISSkin.DLL
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

// Importing ShowWindow Windows API from User32.DLL
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup(): Boolean;
begin
	ExtractTemporaryFile('Office2007.cjstyles');
	LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalAqua.ini');
	Result := True;
end;

procedure DeinitializeSetup();
begin
	// Hide Window before unloading skin so user does not get
	// a glimse of an unskinned window before it is closed.
	ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
	UnloadSkin();
end;

Berikut adalah beberapa variasi skin hasil dari ngoprek kode berikut :

LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalAqua.ini');

LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalBlack.ini');

LoadSkin(ExpandConstant('{tmp}\Vista.cjstyles'), 'NormalSilver.ini');

LoadSkin(ExpandConstant('{tmp}\Vista.cjstyles'), '');

Selamat mencoba🙂

  1. taxi
    May 20, 2010 at 4:02 am

    mz…saya mw tanya itu cara masang code skinnya masiih binggung….ada tutorial lebih detailnya lagii gak….ato diletakkin dimana code skinnya…

  2. May 20, 2010 at 5:34 am

    Skrip inno setup itu kan dikelompokkan ke ke dalam beberapa bagian (section istilah innonya), kan ada section [Setup], [Languages], [Tasks], [Files], [Icons], [Registry], [INI], [Code] dan section lainnya.

    Nah skrip diatas diletakkan di section [Code], supaya lebih gampang sy paste ulang aja deh skrip diatas dg menghilangkan komentarnya :

    [Files]
    ;file ISSkin.dll dan Office2007.cjstyles sudah ada di installer ISSkin, jadi di download dulu
    ;link downloadnya silahkan cek diatas.
    ;file ISSkin.dll diletakkan 1 folder dg file skrip innonya dan file Office2007.cjstyles diletakkan di sub folder Styles
    Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
    Source: Styles\Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy
    
    [Code]
    procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
    external 'LoadSkin@files:isskin.dll stdcall';
    
    procedure UnloadSkin();
    external 'UnloadSkin@files:isskin.dll stdcall';
    
    function ShowWindow(hWnd: Integer; uType: Integer): Integer;
    external 'ShowWindow@user32.dll stdcall';
    
    function InitializeSetup(): Boolean;
    begin
    	ExtractTemporaryFile('Office2007.cjstyles');
    	LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalAqua.ini');
    	Result := True;
    end;
    
    procedure DeinitializeSetup();
    begin	
    	ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
    	UnloadSkin();
    end;
    

    Selamat mencoba🙂

  3. TAXI
    May 29, 2010 at 4:09 pm

    kk saya udah letakkan code diatas trus hasilnya muncul ini…
    inno setup = internal error:ExtractTemporaryFile: The file”isskin.dll” was not found

    mohon pencerahannya…

  4. May 30, 2010 at 11:05 pm

    1. Install dulu ISSkin
    2. Copy file ISSkin.dll yg ada di folder C:\Program Files\Codejock Software\ISSkin ke folder source paket instalasi
    3. Copy file Office2007.cjstyles yg ada di folder C:\Program Files\Codejock Software\ISSkin\Styles ke folder source paket instalasi\Styles

    Klo ke 3 langkah diatas sudah om lakukan, baru coba kodenya

    Selamat mencoba🙂

  5. October 1, 2010 at 3:51 am

    saya juga termasuk yang menggunakan INNO setup hingga saat ini dan saya juga biasanya menggunakan skin dari Codejock untuk mempercantik tampilan (baik installer maupun program itu sendiri)…terlebih kita bisa membuat skin sendiri dengan menggunakan Skin builder yang disediakan Codejock dan themes windows yang kita punya….

    Untuk diperhatikan, file yang penting dalam menggunakan skin dari CJ ini ada dua yaitu file .dll dan file skin .cjstyle

    Thanks atas info dan tutorialnya

    • October 4, 2010 at 12:55 am

      Sama2x om, tq tambahan infonya🙂

  6. January 11, 2011 at 1:50 am
    • January 11, 2011 at 3:22 am

      Oke om tq infonya.

  7. Hardy
    July 11, 2011 at 5:47 am

    Om kalo untuk mengikutsertakan komponen2(.ocx) dan meregistry dari codejock gimana? saya coba gagal aja.. di coba dengan membuat file.bat untuk registry komponen2 tersebut juga kaga mau aja..😦
    maklum newbie om masih dlm thp bljr..

    • July 11, 2011 at 8:00 am

      Mau komponennya codejock atw komponen lainnya yg berekstensi .ocx skrip inno setupnya ya cukup seperti ini om :

      [Files]
      Source: lokasi_file_ocx\komponen_codejoc.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      ;TODO : komponen lainnya
      
  8. Hardy
    July 11, 2011 at 5:49 am

    oya jadi kesimpulannya, komponen2 tersebut bisa load atau di pakai di komputer lain, bila saya instal paket installer codejock om..😦

    • July 11, 2011 at 8:02 am

      Coba jalankan dulu om tool Package & Deployment Wizard untuk mengecek dependency file dari project kita.

  9. Hardy
    July 12, 2011 at 7:51 pm

    okay.. thks om infonya..🙂

    • July 13, 2011 at 1:35 am

      Sama2x om

  10. July 26, 2011 at 12:42 pm

    mas..cara ganti gambar yg sebelah kiri (gambar bumi) sma yg di pojok kanan atas (saat klik next next ) jadi gamabar kepingan disc cd..gimana ya mas

    • July 26, 2011 at 2:22 pm

      Dibagian section [Setup] om :

      [Setup]
      ; ....
      ; gambar sebelah kiri
      WizardImageFile=SetupModern21.bmp
      ; gambar sebelah kanan
      WizardSmallImageFile=SetupModernSmall21.bmp
      

      Untuk sample WizardImages lainnya bisa om download disini.

  11. December 29, 2011 at 8:51 am

    kalau ganti ke bahasa indonesia,dimananya ??

    • December 29, 2011 at 9:42 pm

      Tinggal download file bahasa indonesianya disini trus filenya dicopykan ke folder “C:\Program Files\Inno Setup 5” kemudian tambahkan skrip berikut di section Setup dan Languages :

      [Setup]
      LanguageDetectionMethod=none
      ShowLanguageDialog=no
      
      [Languages]
      Name: ina; MessagesFile: compiler:Indonesia.isl
      
      • Guna Parampampam
        May 14, 2012 at 11:46 am

        om punya codejock yg full version ndak..
        soal’a aku punya yg versi demo.. klo ada boleh di share donk om,,,

        • May 18, 2012 at 1:37 pm

          Belum pernah pake codejock om😀

  12. August 11, 2012 at 1:18 am

    aku pernah pake ino setup, tp untuk ocx dan dll.nya gak bs ikut,,,
    apakah dengan tambahan soucecode di atas ocx n dll.nya bs ikut?
    mohon pencerannya…
    trims…

    • August 11, 2012 at 3:53 am

      Kayaxnya sih gitu om dan sy enggak bisa ngasih pencerahan klo enggak langsung om coba.

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