Membuat Paket Installasi Vb Dan Mysql

38
MEMBUAT PAKET INSTALLASI VB dan MySql Oleh : Zainal Abidin Tentunya setelah kita membuat program menggunakan Tools apapun langkah terakhir yang harus dilakukan adalah mem-packaging aplikasi tersebut supaya bisa dipakai oleh orang lain. Sebenarnya dalam VB sendiri sudah disediakan packaging aplikasi dalam tools tambahan di vb 6.0 yakni pada add-in nya tepatnya dalam menu add-in manager, namun packaging dalam tools tersebut hanya mampu untuk vb itu sendiri dan jika ingin menambahkan file tambahan seperti crystal report harus dilakukan satu persatu dan jika file yang ingin ditambahkan dalam satu folder tetap harus dilakukan satu-persatu tidak bisa sekaligus satu folder ditambahkan dalam sistem pengepakan tersebut. Namun pertanyaannya sekarang jika kita membuat program aplikasi dalam vb 6.0 kemudian databasenya menggunakan MySql apakah masih bisa menggunakan packaging yang disediakan vb 6.0 ?. Jawabnya bisa namun membutuhkan kejelihan dalam memilih file- file MySql dan kebanyakan setelah proses packaging dengan cara tersebut selesai hasilnya gagal dijalankan di komputer lain. Kemudian jika kita ingin menggunakan cara di atas masih bisa, namun harus memisah antara setup program aplikasi hasil dari packaging manager dan MySql. Dan yang paling terpenting lagi kita juga harus menyiapkan MySql Connector ODBC berhubung cara VB berkoneksi dengan MySql membutuhkan konektor. Hal tersebut bisa diringkas sebagai berikut : Jika kita ingin mendistribusikan program aplikasi yang kita buat maka yang harus dipersiapkan adalah : 1. Setup.exe hasil dari packaging manager di vb 6.0 2. MySql (server atau client) 3. MySql Connector ODBC Itu jika program aplikasi yang kita buat tidak ada tambahan lagi, namun bagaimana jika program aplikasi yang kita buat ditambah dengan aplikasi lain misalnya, active skin untuk memperindah tampilan, font barcode untuk mencetak barcode dari porgram yang kita buat dan lain sebagainya. Tentunya harus menambah installasi lagi yakni : 4. Activeskin 5. Font barcode 6. Dan lain-lain (dll) Dengan banyaknya proses installasi sebagaimana yang tercantum di atas tentunya bagi kita seorang programmer masih dalam keadaan wajar, namun lain halnya dengan user, hal tersebut akan sangat merepotkan orang yang ingin menggunakan hasil karya kita, bahkan merekan akan lebih memilih tidak memakai program aplikasi kita karena dianggap sulit. Sekarang bagaimana menyikapi supaya hal tersebut tidak terjadi dan yang paling terpenting program aplikasi yang kita distribusikan kepada orang lain gampang digunakan atau user friendly mulai dari proses installasinya sampai pada isi dan kualitas programnya. Copyright © 2013 Zainal Abidin Adalah seorang suka relawan pendidikan di daerah Situbondo dia mengabdikan dirinya di salah satu SMA Negeri kabupaten Situbondo. Aktifitas kesehariannya adalah mengajar dengan suka rela kepada anak didiknya. Dia mengharapkan semua perbuatannya bisa memberikan manfaat kepada orang lain sebagai amal jariyah untuk masa akhirat.

Transcript of Membuat Paket Installasi Vb Dan Mysql

MEMBUAT PAKET INSTALLASI VB dan MySql

Oleh : Zainal Abidin

Tentunya setelah kita membuat program menggunakan Tools apapun langkah

terakhir yang harus dilakukan adalah mem-packaging aplikasi tersebut supaya bisa dipakai oleh orang lain. Sebenarnya dalam VB sendiri sudah disediakan packaging aplikasi dalam tools tambahan di vb 6.0 yakni pada add-in nya tepatnya dalam menu add-in manager, namun packaging dalam tools tersebut hanya mampu untuk vb itu sendiri dan jika ingin menambahkan file tambahan seperti crystal report harus dilakukan satu persatu dan jika file yang ingin ditambahkan dalam satu folder tetap harus dilakukan satu-persatu tidak bisa sekaligus satu folder ditambahkan dalam sistem pengepakan tersebut.

Namun pertanyaannya sekarang jika kita membuat program aplikasi dalam vb 6.0 kemudian databasenya menggunakan MySql apakah masih bisa menggunakan packaging yang disediakan vb 6.0 ?. Jawabnya bisa namun membutuhkan kejelihan dalam memilih file-file MySql dan kebanyakan setelah proses packaging dengan cara tersebut selesai hasilnya gagal dijalankan di komputer lain.

Kemudian jika kita ingin menggunakan cara di atas masih bisa, namun harus memisah antara setup program aplikasi hasil dari packaging manager dan MySql. Dan yang paling terpenting lagi kita juga harus menyiapkan MySql Connector ODBC berhubung cara VB berkoneksi dengan MySql membutuhkan konektor. Hal tersebut bisa diringkas sebagai berikut :

Jika kita ingin mendistribusikan program aplikasi yang kita buat maka yang harus dipersiapkan adalah :

1. Setup.exe hasil dari packaging manager di vb 6.0 2. MySql (server atau client) 3. MySql Connector ODBC

Itu jika program aplikasi yang kita buat tidak ada tambahan lagi, namun bagaimana jika program aplikasi yang kita buat ditambah dengan aplikasi lain misalnya, active skin untuk memperindah tampilan, font barcode untuk mencetak barcode dari porgram yang kita buat dan lain sebagainya. Tentunya harus menambah installasi lagi yakni :

4. Activeskin 5. Font barcode 6. Dan lain-lain (dll)

Dengan banyaknya proses installasi sebagaimana yang tercantum di atas tentunya bagi kita seorang programmer masih dalam keadaan wajar, namun lain halnya dengan user, hal tersebut akan sangat merepotkan orang yang ingin menggunakan hasil karya kita, bahkan merekan akan lebih memilih tidak memakai program aplikasi kita karena dianggap sulit.

Sekarang bagaimana menyikapi supaya hal tersebut tidak terjadi dan yang paling terpenting program aplikasi yang kita distribusikan kepada orang lain gampang digunakan atau user friendly mulai dari proses installasinya sampai pada isi dan kualitas programnya.

Copyright © 2013 Zainal Abidin Adalah seorang suka relawan pendidikan di daerah Situbondo dia mengabdikan dirinya di salah satu SMA Negeri kabupaten Situbondo. Aktifitas kesehariannya adalah mengajar dengan suka rela kepada anak didiknya. Dia mengharapkan semua perbuatannya bisa memberikan manfaat kepada orang lain sebagai amal jariyah untuk masa akhirat.

Sekarang saatnya kita membuat packaging program aplikasi yang kita buat seprofesional mungkin. Dan itulah yang diharapkan para pembuat program, sehingga pengguna program aplikasi yang kita buat tidak lagi harus repot-repot menginstall ini dan itu hanya cukup klik next program aplikasi sudah siap dipakai.

Oleh karena itulah saya menulis artikel ini, dan dari beberapa keluhan teman-teman yang menggunakan pembuat packaging (installer) profesional namun tidak bisa menggunakannya.

Disini saya akan membahas bagaimana caranya menggunakan inno setup sebagai aplikasi installer profesional yang sangat handal dan sederhana. Aplikasi installer ini bukan hal yang baru lagi di kalangan para programmer. Inno setup diciptakan oleh Jordan Russell yang dirilis pada tahun 1997 dan terus dikembangkan hingga saat ini dan paling membahagiakan program ini dibagikan secara gratis 100%. Program ini sangat ringan yang kapasitasnya hanya 1,81 Mb dan hasil dari packingnya sangat kecil saya sudah mencoba aplikasi yang saya buat berkapasitas 350 Mb dan dipacking menggunakan inno setup bisa menjadi 16 Mb sangat hebat bukan?.

Baiklah saya tidak perlu panjang lebar lagi, jika Anda ingin lebih tahu informasi inno setup silahkan visit ke website resminya di http://www.jrsoftware.org/.

Hal-hal yang harus dipersiapkan dalam pembuatan setup.exe dengan inno setup adalah :

1. Install inno setup, jika belum punya anda bisa visit ke web aslinya atau ke http://www.smapank-info.blogspot.com web pribadi saya.

2. Buatlah folder dengan nama package (bisa dengan apa saja) 3. Persiapkan package program aplikasi anda yang dibuat di package manager di vb 6.0 4. Persiapkan MySql server yang noninstall (versi terserah) 5. Persiapkan MySql connector ODBC yang noninstall (versi terserah) 6. Jika no 4 dan 5 anda punya yang versi install silahkan diinstall dulu (yang pasti anda

sudah menginstalnya karena anda sudah menggunakan MySql dan Connector tersebut) 7. Dalam folder package yang anda buat tadi buatlah dua folder lagi yakni dll&ocx (tempat

untuk file ocx dan dll) dan main (tempat untuk exe program kita, crystall report, dan hasil dumping1 database MySql)

8. Masukkan semua kebutuhan diatas ke dalam satu folder package yakni : a. Semua ocx dan dll di folder Support hasil dari package manager b. MySql Server c. MySql connector d. Skin (jika menggunakan activeskin ditambahkan)2 e. Font (jika menggunakan font baru disini saya menggunakan font barcode)3 f. Folder main sebagai tempat exe program, laporan crystal report, dan hasil dumping

database Lebih jelasnya bisa anda perhatikan gambar berikut :

1 Jika anda menggunakan xampp cukup export saja databasenya dengan ekstensi .sql, jika anda tidak

menggunakan xampp anda bisa mendumping secara manual dengan menggunakan Ms Dos (cmd) caranya : masuk ke directory bin di MySql kemudian ketik : mysqldump -unama_user -ppassword_user –routines nama_database > c:\nama_database.sql

2 Tidak perlu jika tidak menggunakan activeskin 3 Tidak perlu jika tidak menggunakan font barcode

9. Jalankan inno setup (saya menggunakan versi 5.5.3 rilis 30-01-2013). Perhtikan gambar

berikut :

10. Pilih create a new script file using the script wizard kemudian klik ok, kemudian akan

muncul gambar berikut :

11. Klik next untuk melanjutkan, akan muncul gambar berikut :

Wajib ada

Jika dibutuhkan

Keterangan : a. Application name isilah dengan nama aplikasi yang Anda inginkan b. Application version isilah dengan versi aplikasi yang Anda inginkan c. Application publisher isilah dengan nama perusahan Anda atau nama Anda sendiri d. Application website isilah dengan web yang Anda miliki

12. Klik next, akan muncul seperti gambar berikut :

Keterangan :

a. Application destination base folder diisi dengan alamat folder yang ingin dijadikan tempat installasi

b. Application folder name diisi dengan nama folder aplikasi contoh, C:\Program Files\PERPUS

c. Allow user to change the application folder membolehkan pengguna untuk merubah folder tempat installasi

d. The application doesn’t need a folder aplikasi tidak membutuhkan folder (sebaiknya tidak perlu dicentang)

13. Klik next, akan muncul seperti gambar berikut :

Keterangan : a. Application main executable file diisi dengan hasil exe aplikasi yang Anda buat b. Allow user to start the application after setup has finished membolehkan

pengguna memulai menjalankan program setelah selesai diinstall c. The application doesn’t have a main executable file (tidak perlu dicentang) d. Add file(s) digunakan untuk memilih file misalnya file runtime seperti dll dan ocx

(file dipilih berdasarkan file) e. Add folder digunakan untuk memilih file yang ada dalam satu folder seperti laporan

crystall report 14. Klik next, akan muncul seperti gambar berikut :

Keterangan : a. Application start menu folder name otomatis terisi sendiri sesuai dengan nama

aplikasi yang Anda buat b. Allow user to change the start menu folder name membolehkan pengguna

mengganti nama folder c. Allow user to disable start menu folder creation membolehkan pengguna

menonaktifkan folder pada start menu d. Create an internet shortcut in the start menu folder membuat icon shorcut e. Create an uninstall icon in the start menu folder membuat icon uninstall f. Allow user to create a desktop icon membolehkan pengguna menampilkan icon

aplikasi ke desktop g. Allow user to create a quick launch icon membolehkan penggukan membuat icon

quick launch 15. Klik next, akan muncul seperti gambar berikut :

Keterangan : a. License file digunakan untuk menyisipkan lisensi program aplikasi (ketiklah lisensi

yang akan dibuat menggunakan notepad/Ms. word dan simpan dengan ekstensi .txt atau .rtf)

16. Klik next, akan muncul gambar sebagai berikut :

Pilih bahasa yang diinginkan

17. Klik next, akan muncul seperti gambar berikut :

a. Pilih folder tempat compiler jika diinginkan, jika Anda mengosongi textbox tersebut

makan hasil compiler akan ditaruh di folder output b. Buatlah nama compiler sesuai keinginan anda, secara default nama compiler adalah

setup c. Pilihlah icon compiler sesuai keinginan anda d. Berilah password jika Anda ingin memberikan password hasil compiler Anda

18. Klik next, maka akan muncul seperti gambar beriktu :

19. Lalu klik next – finish, akan muncul seperti gambar berikut :

Pilih no agar kita bisa mengedit scriptnya – simpan dengan nama yang anda inginkan.

Hasil di atas masih belum bisa dibilang profesional karena jika langsung dicompile maka pengguna masih harus menseting installasi MySql server, MySql connector, dan masih harus meregistrasi file dll dan ocx nya. Supaya hal tersebut tidak terjadi maka kita harus memodifikasi scriptnya. Ok kita langsung saja modifikasi :

1. Tambahkan script berikut di bagian [setup] AllowCancelDuringInstall = yes AllowNoIcons = yes AlwaysRestart = no AlwaysShowComponentsList = no DisableProgramGroupPage = yes AppendDefaultDirName = yes CreateUninstallRegKey = yes DisableStartupPrompt = yes LanguageDetectionMethod=none ShowLanguageDialog=yes Uninstallable = yes UninstallFilesDir={app}\uninst UninstallDisplayIcon={app}\{#MyAppExeName},0 UninstallDisplayName={#MyAppName} WindowVisible = no AppCopyright=Copyright © 2013. ZAINAL ABIDIN's Laboratory

FlatComponentsList = yes PrivilegesRequired = admin VersionInfoVersion={#MyAppVersion} WizardImageFile=besar.bmp WizardSmallImageFile=kecil.bmp Script ini digunakan untuk mengganti gambar besar dan kecil di wizard installasi. Perhatikan contoh berikut :

Keterangan : Ukuran gambar besar adalah 164x314 pixels dan ukuran kecil adalah 55x58 pixels. Format gambar harus *.bmp dengan warna tidak lebih dari 256 warna.

2. Tambahkan script berikut di bagian [task] Name: installmysql; Description: "Install MySQL"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installfont; Description: "Install Font Barcode"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installskin; Description: "Install Skin"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Script ini digunakan untuk menyediakan pilihan mana saja aplikasi tambahan yang ingin diinstal. Dalam script tersebut terlihat tiga tambahan aplikasi pendukung yakni : a. MySql server b. Font Barcode c. Macam Skin dari Activeskin Contoh hasilnya seperti gambar berikut :

Gambar besar

Gambar kecil

3. Tentukan file runtime dll atau ocx dibagian [files] yang harus diregistrasi atau yang tidak

perlu diregistrasi, tentukan pula tempat penyimpanannya. Biasanya dll dan ocx berada di system (sys). Berikut daftar tempat beserta yang harus diregistrasi :

No File dll atau ocx Tempat Registrasi

1. agentctl.dll System Tidak

2. Crpaig80.dll System Tidak

3. crpe32.dll System Tidak

4. Crxlat32.dll System Tidak

5. Implode.dll App Tidak

6. msvcrt.dll System Tidak

7. p2bbde.dll System Tidak

8. P2bbnd.dll System Tidak

9. p2bdao.dll System Tidak

10. p2bxbse.dll System Tidak

11. p2ctdao.dll System Tidak

12. p2irdao.dll System Tidak

13. p2sifmx.dll System Tidak

14. P2smon.dll System Tidak

15. p2sodbc.dll System Tidak

16. p2soledb.dll System Tidak

17. p2sora7.dll System Tidak

18. p2ssql.dll System Tidak

19. p2ssyb10.dll System Tidak

20. u252000.dll System Tidak

21. u25dts.dll System Tidak

22. u2dapp.dll System Tidak

23. u2ddisk.dll System Tidak

24. u2dmapi.dll System Tidak

25. u2dnotes.dll System Tidak

26. u2dpost.dll System Tidak

27. u2dvim.dll System Tidak

28. u2fcr.dll System Tidak

29. u2fhtml.dll System Tidak

30. u2fodbc.dll System Tidak

31. u2frec.dll System Tidak

32. u2frtf.dll System Tidak

33. u2fsepv.dll System Tidak

34. u2ftext.dll System Tidak

35. u2fwks.dll System Tidak

36. u2fwordw.dll System Tidak

37. u2fxls.dll System Tidak

38. u2l2000.dll System Tidak

39. u2lcom.dll System Tidak

40. u2ldts.dll System Tidak

41. u2lsamp1.dll System Tidak

42. COMCAT.DLL System Ya

43. olepro32.dll System Ya

44. oleaut32.dll System Ya

45. msvbvm60.dll System Ya

46. actskn43.ocx System Ya

47. comdlg32.ocx System Ya

48. Crystl32.OCX System Ya

49. mfc42.dll System Ya

50. MSADODC.OCX System Ya

51. MSBIND.DLL System Ya

52. mscomct2.ocx System Ya

53. mscomctl.ocx System Ya

54. msdatgrd.ocx System Ya

55. msstdfmt.dll System Ya

Silahkan ubah tempat penyimpanannya yakni {app} ganti dengan {sys} kemudian registrasi ke server jika file dll atau ocx harus diregistrasi. Perhatikan contoh berikut :

Source: "dll&ocx\actskn43.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\agentctl.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\asycfilt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\COMCAT.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\comdlg32.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist

Source: "dll&ocx\Crpaig80.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\crpe32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crxlat32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crystl32.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\Implode.dll"; DestDir: "{app}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\mfc42.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSADODC.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSBIND.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomct2.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomctl.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msdatgrd.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msstdfmt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msvbvm60.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msvcrt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\oleaut32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\olepro32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\p2bbde.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2bbnd.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bxbse.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ctdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2irdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sifmx.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2smon.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist

Source: "dll&ocx\p2soledb.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sora7.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssql.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssyb10.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u252000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u25dts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\U25IDAutomation.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dapp.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ddisk.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dmapi.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dnotes.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dpost.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dvim.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fcr.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fhtml.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frec.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frtf.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fsepv.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ftext.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fwks.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fwordw.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fxls.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2l2000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lcom.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist

Source: "dll&ocx\u2ldts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lsamp1.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\VB6STKIT.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Keterangan : a. Uninsneveruninstall berfungsi supaya dll tidak ikut di remove jika program di

uninstall b. Sharedfile berfungsi supaya user lain diberikan hak akses c. Regserver memerintahkan untuk di registrasi ke server d. Onlyifdoesntexist dilakukan (install, registasi) jika file tidak ada

4. Tentukan penyimpanan file dll, lib, dan exe di MySql connector ke system (sys). Perhatikan contoh berikut : Source: Connector ODBC 5.2\myodbc5S.dll; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5S.lib; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5w.dll; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5w.lib; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc-installer.exe; DestDir: "{sys}"; Flags: onlyifdoesntexist

5. Tentukan intallasi MySql Servernya. Perhatikan contoh berikut : Source: MySQL Server 5.5\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql Source: MySQL Server 5.5\lib\*; DestDir: {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\data\*; DestDir: {app}\mysql\data; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql Source: MySQL Server 5.5\*; DestDir: {app}\mysql; Flags: ignoreversion; Tasks: installmysql Keterangan : a. Tanda petik dihapus semua b. \mysql\bin - \mysql\lib - \mysql\share - \mysql\data - \mysql yang diletakkan

setelah app berfungsi untuk membuat folder tersebut di tempat installasi c. Tasks: installmysql diambil dari variabel yang diletakkan di bagian [task] ini untuk

menyetujui perintah dari variabel installmysql yang berada di [task] 6. Tentukan tempat installasi yang ada di folder main. Perhatikan contoh berikut :

Source: main\PERPUSTAKAAN.exe; DestDir: {app}; Flags: ignoreversion Source: main\perpustakaan.sql; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: main\exec.cmd; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: main\*.rpt; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs Keterangan : a. Tambahan direktori setelah app sama dengan no 5 b. *.rpt semua yang berekstensi rpt dalam folder main

7. Tentukan tempat file tambahan seperti skin dan font barcode. Skin ditempatkan di tempat installasi aplikasi, sedangkan font barcode ditempatkan di tempat fonts dalam system. Perhatikan contoh berikut : Source: Skins\*; DestDir: {app}\Skins; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: installskin

Source: Font\*.ttf; DestDir: {fonts}; Flags: ignoreversion onlyifdoesntexist; Tasks: installfont Keterangan dapat dilihat di no 5

8. Sekarang kita ke bagian tag icon [icons] digunakan untuk menampilkan shortcut pada tempat yang kita inginkan. Tentukan apa yang akan ditampilkan pada tag icon ini misalnya, icon program ditempatkan di start menu, desktop, quicklaunch, dan lain sebagainya. Dalam tag ini kita juga bisa menampilkan shortcut uninstall pada start menu. Perhatikan contoh berikut : Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

9. Sekarang kita akan lanjutkan ke tag [ini] yang digunakan untuk membuat file *.ini di MySql, sebab konfigurasi MySql membutuhkan file yang berekstensi my.ini dalam folder bin sebagai tempat konfigurasinya. Isi dari file ini akan secara otomatis terisi sesuai dengan direktori MySql ketika installasi MySql dijalankan. Silahkan copas script ini : [INI] Filename: {app}\mysql\my.ini; Section: mysqld; Key: basedir; String: {app}\mysql; Tasks: installmysql Filename: {app}\mysql\my.ini; Section: mysqld; Key: datadir; String: {app}\mysql\data; Tasks: installmysql Filename: {app}\infoProgram.ini; Section: Sistem; Key: serverName; String: "127.0.0.1" Filename: {app}\infoProgram.ini; Section: Sistem; Key: dbName; String: "perpustakaan"

10. Selanjutnya tambahkan script untuk menjalankan MySql server dan MySql connector ODBC. Berikut script yang harus dibuat : a. Install service MySql

Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "install ""MySQL"""; StatusMsg: "Sedang menginstall service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2; Tasks: installmysql

b. Jalankan service MySql Filename: {sys}\net.exe; Parameters: "start ""MySQL"""; StatusMsg: "Sedang menjalankan service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381; Tasks: installmysql

c. Mendaftarkan port default MySql ke firewall Filename: "{sys}\netsh.exe"; Parameters: "firewall add portopening TCP 3306 ""Port MySQL"""; StatusMsg: "Sedang mendaftarkan port MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{sys}\netsh.exe"; Parameters: "firewall set service type = fileandprint mode = enable"; StatusMsg: "Mengaktifkan File and Printer Sharing ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

d. Mengganti password default root Filename: "{app}\mysql\bin\mysqladmin.exe"; Parameters: "-uroot password masterkey"; StatusMsg: "Mengganti password root"; Flags: runhidden; MinVersion: 0,5.01.2600sp2

e. Menghapus user default1 (user=blank, password=blank)

Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='localhost' AND User=''"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

f. Menghapus user default2 (user=root, password=blank) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='127.0.0.1' AND User='root'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

g. Set agar user root bisa login dari mesin lain Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'masterkey'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

h. Membuat database kosong Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""CREATE DATABASE perpustakaan"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

i. Menjalankan file batch exec.cmd untuk melakukan proses undump Filename: "{app}\mysql\bin\exec.cmd"; Flags: runhidden; MinVersion: 0,5.01.2600sp2

j. Install driver myodbc Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -a -n ""MySQL ODBC 5.2w Driver"" -t ""DRIVER=myodbc5w.dll;SETUP=myodbc5S.dll"""; StatusMsg: "Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.2"; Flags: runhidden

Keterangan : a. Parameters menjalankan perintah dalam executable yang berada di depannya b. StatusMsg menampilkan pesan ketika setup wizard dijalankan c. Runhiden menyembunyikan proses installasi dari executable d. MinVersion menentukan versi minimal dari windows yang dipakai. Berikut adalah

kode dari masing-masing versi windows : Versi Windows

Kode Keterangan 4.0.950 Windows 95 4.0.1111 Windows 98 OSR 2 & OSR 2.1 4.0.1212 Windows 95 OSR 2.5 4.1.1998 Windows 98 4.1.2222 Windows 98 Second Edition 4.9.3000 Windows Me

Versi Windows NT Kode Keterangan

4.0.1381 Windows NT 4.0 5.0.2195 Windows 2000 5.01.2600 Windows XP 5.02.3790 Windows server 2003 dan Windows XP x64 edition

Jika kita melihat scrip di atas minimal windows yang diminta oleh program aplikasi perpustakaan adalah Windows XP.

11. Kemudian kita buat perintah yang dieksekusi ketika program aplikasi diuninstall. Perhatikan script berikut : [UninstallRun] Filename: {sys}\net.exe; Parameters: "stop ""MySQL"""; StatusMsg: "Menghentikan Service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381 Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "remove ""MySQL"""; StatusMsg: "Sedang menghapus service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -r -n ""MySQL ODBC 5.2w Driver"""; StatusMsg: "Tunggu sedang menghapus driver MySQL Connector ODBC 5.2w"; Flags: runhidden Perintah tersebut menstop sekaligus membuang service MySql Server dan MySql Connector ODBC.

12. Delete file MySql server dan MySql connector ODBC ketika proses uninstall dijalankan, berikut scriptnya : [UninstallDelete] Type: files; Name: {app}\mysql\bin\*.* Type: files; Name: {app}\mysql\Docs\*.* Type: files; Name: {app}\mysql\lib\*.* Type: files; Name: {app}\mysql\share\*.* Type: files; Name: {sys}\myodbc5S.dll Type: files; Name: {sys}\myodbc5S.lib Type: files; Name: {sys}\myodbc5w.dll Type: files; Name: {sys}\myodbc5w.lib Type: files; Name: {sys}\myodbc-installer.exe

Jika hasil compiler di atas dijalankan maka hasilnya seperti gambar berikut :

Sekarang bagaimana jika hasil compiler yang kita buat berbahasa indonesia berhubung kita adalah orang indonesia?. Tentunya ini akan menambah hasil compiler yang kita buat lebih profesional dan lebih interaktif dengan pengguna. Baiklah untuk membuat hasil compiler berbahasa indonesia sangatlah gampang tinggal cari saja file yang berekstensi isl (inno setup language) bahasa inggris file tersebut bernama default.isl yang ada di tempat installasi inno kemudian terjemahkan ke dalam bahasa indonesia. Berikut tempat direktori file isl : 1. Masuk ke program files 2. Masuk ke inno setup 3. Cari file default.isl kemudian buka dengan notepad 4. Ganti bahasanya ke dalam bahasa indonesia

Saya tahu bahwa jika Anda mengeditnya sendiri akan merasa malas dan tidak akan sabar, inilah yang membuat saya ingin membantu Anda. Silahkan copas saja script berikut jika Anda tidak ingin mengeditnya : ; *** Inno Setup version 5.5.3+ Indonesian messages *** ; ; To download user-contributed translations of this file, go to: ; http://www.jrsoftware.org/is3rdparty.php ; ; Note: When translating this text, do not add periods (.) to the end of ; messages that didn't have them already, because on those messages Inno ; Setup adds the periods automatically (appending a period would result in ; two periods being displayed). ; ; Alih bahasa oleh: ; Jaimy Azle ([email protected]) - http://delphi.log.web.id ; Inno Setup Indonesian Translation home page: ; http://delphi.log.web.id/comptools/index.html#tools ; ; Update: Translation is based on Indonesian goverment regulation ; translation guidance No. 02/2002 ; http://vlsm.org/etc/baku-0.txt ; [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file.

LanguageName=Indonesia LanguageID=$0421 LanguageCodePage=0 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial ;TitleFontSize=29 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** Application titles SetupAppTitle=Instalasi SetupWindowTitle=Instalasi - %1 UninstallAppTitle=Deinstalasi UninstallAppFullTitle=Deinstalasi %1 ; *** Misc. common InformationTitle=Informasi ConfirmTitle=Konfirmasi ErrorTitle=Galat ; *** SetupLdr messages SetupLdrStartupMessage=Program ini akan menginstal aplikasi %1. Anda akan melanjutkannya? LdrCannotCreateTemp=Gagal membuat berkas temporer. Instalasi dibatalkan LdrCannotExecTemp=Gagal mengeksekusi berkas dalam pelipat temporer. Instalasi dibatalkan ; *** Startup error messages LastErrorMessage=%1.%n%nGalat %2: %3 SetupFileMissing=Berkas %1 tidak ditemukan dalam pelipat instalasi. Mohon periksa kembali atau ganti dengan kopi program instalasi yang lebih baru. SetupFileCorrupt=Berkas instalasi rusak. Mohon ganti dengan kopi program instalasi yang lebih baru. SetupFileCorruptOrWrongVer=Berkas instalasi rusak, atau tidak kompatibel dengan versi program instalasi ini. Mohon periksa kembali atau ganti dengan kopi program instalasi yang lebih baru. NotOnThisPlatform=Program ini tidak bisa berjalan pada %1. OnlyOnThisPlatform=Program ini harus dijalankan pada %1. OnlyOnTheseArchitectures=Aplikasi ini hanya bisa diinstal pada versi Windows yang didisain untuk arsitektur prosesor berikut:%n%n%1 MissingWOW64APIs=Versi Windows yang anda jalankan tidak memiliki fungsionalitas yang dibutuhkan oleh program instalasi untuk melakukan instalasi 64-bit. Untuk memperbaikinya, silahkan instal Service Pack %1. WinVersionTooLowError=Program ini membutuhkan %1 versi %2 atau yang lebih baru.

WinVersionTooHighError=Program ini tidak dapat diinstal pada %1 versi %2 atau yang lebih baru. AdminPrivilegesRequired=Anda harus log masuk sebagai administrator saat menginstal program ini. PowerUserPrivilegesRequired=Anda harus log masuk sebagai administrator atau dalam grup Power Users saat menginstal program ini. SetupAppRunningError=Program instalasi mendeteksi adanya aplikasi %1 yang masih berjalan.%n%nMohon tutup program tersebut, kemudian klik OK untuk melanjutkan, atau Batal untuk keluar. UninstallAppRunningError=Program deinstalasi mendeteksi adanya aplikasi %1 yang masih berjalan.%n%nMohon tutup program tersebut, kemudian klik OK untuk melanjutkan, atau Batal untuk keluar. ; *** Misc. errors ErrorCreatingDir=Gagal membuat pelipat "%1" ErrorTooManyFilesInDir=Gagal membuat berkas di pelipat "%1" karena sudah terlalu banyak berkas di dalamnya ; *** Setup common messages ExitSetupTitle=Keluar dari program instalasi ExitSetupMessage=Instalasi belum selesai. Jika anda keluar sekarang, program tidak akan diinstal.%n%nAnda bisa menjalankan program ini di lain waktu untuk menyelesaikannya.%n%nKeluar dari program instalasi? AboutSetupMenuItem=&Tentang Instalasi... AboutSetupTitle=Tentang Instalasi AboutSetupMessage=%1 versi %2%n%3%n%n%1 laman:%n%4 AboutSetupNote= TranslatorNote= ; *** Buttons ButtonBack=< &Balik ButtonNext=&Lanjut > ButtonInstall=&Instal ButtonOK=OK ButtonCancel=Batal ButtonYes=&Ya ButtonYesToAll=Ya &semua ButtonNo=&Tidak ButtonNoToAll=T&idak semua ButtonFinish=&Selesai ButtonBrowse=&Rambah... ButtonWizardBrowse=Ra&mbah... ButtonNewFolder=&Buat Pelipat Baru ; *** "Select Language" dialog messages SelectLanguageTitle=Pilihan Bahasa SelectLanguageLabel=Pilih bahasa yang hendak digunakan selama proses instalasi: ; *** Common wizard text ClickNext=Klik Lanjut untuk meneruskan, atau Batal untuk keluar dari Instalasi. BeveledLabel=

BrowseDialogTitle=Rambah Untuk Pelipat BrowseDialogLabel=Pilih pelipat dalam daftar berikut, kemudian klik OK. NewFolderName=Pelipat Baru ; *** "Welcome" wizard page WelcomeLabel1=Selamat Datang di Program Instalasi [name] WelcomeLabel2=Program ini akan menginstal [name/ver] pada komputer anda.%n%nDisarankan untuk menutup terlebih dulu semua program yang berjalan sebelum anda melanjutkan. ; *** "Password" wizard page WizardPassword=Sandi lewat PasswordLabel1=Instalasi ini diproteksi dengan sandi lewat. PasswordLabel3=Silahkan masukkan sandi lewat, kemudian klik Lanjut untuk melanjutkan. sandi lewat bersifat karakter sensitif. PasswordEditLabel=&Sandi lewat: IncorrectPassword=Sandi lewat yang anda masukkan tidak valid. Mohon coba kembali. ; *** "License Agreement" wizard page WizardLicense=Kesepakatan atas Lisensi LicenseLabel=Mohon dibaca terlebih dulu informasi penting berikut sebelum melanjutkan. LicenseLabel3=Mohon dibaca terlebih dulu informasi kesepakatan atas lisensi berikut. Anda harus menyetujui poin-poin di dalamnya sebelum melanjutkan instalasi. LicenseAccepted=Saya &setuju dengan kesepakatan tersebut LicenseNotAccepted=Saya &tidak setuju dengan kesepakatan tersebut ; *** "Information" wizard pages WizardInfoBefore=Informasi InfoBeforeLabel=Mohon dibaca terlebih dulu informasi penting berikut sebelum melanjutkan. InfoBeforeClickLabel=Jika anda sudah siap untuk melanjutkan instalasi, klik Lanjut. WizardInfoAfter=Informasi InfoAfterLabel=Mohon dibaca terlebih dulu informasi penting berikut sebelum melanjutkan. InfoAfterClickLabel=Jika anda sudah siap untuk melanjutkan, klik Lanjut. ; *** "User Information" wizard page WizardUserInfo=Informasi Pengguna UserInfoDesc=Silahkan masukkan data diri anda. UserInfoName=&Nama Pengguna: UserInfoOrg=&Organisasi: UserInfoSerial=Nomor &Seri: UserInfoNameRequired=Anda harus memasukkan nama. ; *** "Select Destination Directory" wizard page WizardSelectDir=Pilih Pelipat Tujuan SelectDirDesc=Dimana program [name] akan anda instal? SelectDirLabel3=Program [name] akan diinstall pada pelipat berikut. SelectDirBrowseLabel=Untuk melanjutkan, klik Lanjut. Jika hendak memilih pelipat lainnya, klik Rambah. DiskSpaceMBLabel=Program membutuhkan minimal [mb] MB ruang pada disk.

ToUNCPathname=Instalasi tidak dapat dilakukan pada nama path UNC. Untuk menginstal melalui network, silahkan map network drive-nya terlebih dulu. InvalidPath=Anda harus memasukkan path secara lengkap dengan drivenya; contoh:%n%nC:\APP%n%natau UNC path dalam format:%n%n\\server\share InvalidDrive=Drive atau path UNC yang anda pilih tidak ada atau tidak dapat diakses. Silahkan pilih yang lainnya. DiskSpaceWarningTitle=Ruang disk tidak mencukupi DiskSpaceWarning=Instalasi membutuhkan paling tidak %1 KB ruang disk untuk melakukan proses, drive yang terpilih hanya memliki %2 KB.%n%nAkan dilanjutkan saja? DirNameTooLong=Nama pelipat atau path tersebut terlalu panjang. InvalidDirName=Nama pelipat tersebut tidak valid. BadDirName32=Nama direktori tidak boleh menyertakan karakter berikut:%n%n%1 DirExistsTitle=Direktori tersebut sudah ada DirExists=Direktori:%n%n%1%n%nsudah ada. Akan melanjutkan instalasi pada direktori tersebut? DirDoesntExistTitle=Direktori Tidak Valid DirDoesntExist=Direktori:%n%n%1%n%ntidak valid. Apakah direktori tersebut akan dibuat ulang? ; *** "Select Components" wizard page WizardSelectComponents=Pilih Komponen SelectComponentsDesc=Komponen apa saja yang akan anda install? SelectComponentsLabel2=Pilih komponen yang ingin anda install; hapus komponen yang tidak ingin anda install. Klik Lanjut untuk melanjutkan proses. FullInstallation=Instalasi Penuh ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=Instalasi Ramping CustomInstallation=Kustomisasi Instalasi NoUninstallWarningTitle=Komponent Sudah Ada NoUninstallWarning=Instalasi mendeteksi komponen berikut sudah terinstall pada komputer:%n%n%1%n%nTidak memilih komponen-komponen tersebut tidak akan menghapus keberadaannya.%n%nAnda akan melanjutkan? ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceMBLabel=Pilihan tersebut membutuhkan paling tidak [mb] MB ruang disk. ; *** "Select Additional Tasks" wizard page WizardSelectTasks=Pilih Task Tambahan SelectTasksDesc=Task mana saja yang akan di jalankan? SelectTasksLabel2=Pilih task tambahan yang ingin dijalankan dalam prosedur instalasi selama menginstalasikan [name], kemudian klik Lanjut. ; *** "Select Start Menu Folder" wizard page WizardSelectProgramGroup=Pilih Pelipat Start Menu SelectStartMenuFolderDesc=Di pelipat mana shortcut program akan diletakkan? SelectStartMenuFolderLabel3=Setup akan membuat shortcut program pada pelipat Start Menu berikut. SelectStartMenuFolderBrowseLabel=Untuk melanjutkan, klik Next. Jika ingin memilih pelipat lainnya, klik Rambah. MustEnterGroupName=Anda harus memasukkan nama pelipatnya.

GroupNameTooLong=Nama pelipat atau path tersebut terlalu panjang. InvalidGroupName=Nama pelipat tersebut tidak valid. BadGroupName=Nama direktori tidak boleh menyertakan karakter berikut:%n%n%1 NoProgramGroupCheck2=&Jangan buat pelipat Start Menu ; *** "Ready to Install" wizard page WizardReady=Siap Memulai Instalasi ReadyLabel1=Proses instalasi aplikasi [name] siap dimulai. ReadyLabel2a=Klik Instal untuk memulai proses, atau klik Kembali jika ingin mereview atau mengubah setting yang ada. ReadyLabel2b=Klik Instal untuk memulai proses instalasi. ReadyMemoUserInfo=Informasi User: ReadyMemoDir=Direktori Tujuan: ReadyMemoType=Tipe Instalasi: ReadyMemoComponents=Komponen Terpilih: ReadyMemoGroup=Pelipat Start Menu: ReadyMemoTasks=Task Tambahan: ; *** "Preparing to Install" wizard page WizardPreparing=Mempersiapkan Proses Instalasi PreparingDesc=Setup sedang mempersiapkan instalasi [name] pada komputer anda. PreviousInstallNotCompleted=Instalasi/Deinstalasi program sebelumnya belum selesai. Anda akan memerlukan restart komputer anda untuk memastikan instalasi/deinstalasi selesai.%n%nSetelah merestart komputer, jalankan instalasi lagi untuk menyelesaikan proses instalasi aplikasi [name]. CannotContinue=Instalasi tidak dapat dilanjutkan. Silahkan tekan Batal untuk keluar. ; *** "Installing" wizard page WizardInstalling=Sedang Menginstal InstallingLabel=Mohon tunggu selama proses instalasi [name] pada komputer anda. ; *** "Setup Completed" wizard page FinishedHeadingLabel=Finalisasi Instalasi Aplikasi [name] FinishedLabelNoIcons=Proses instalasi aplikasi [name] telah selesai. FinishedLabel=Setup telah selesai menginstalkan [name] pada komputer anda. Aplikasi tersebut bisa dijalankan dengan memilih icon yang telah terinstall. ClickFinish=Klik Selesai untuk keluar dari program instalasi. FinishedRestartLabel=Untuk menyelesaikan proses instalasi [name], Program harus merestart komputer anda. Komputer akan direstart sekarang? FinishedRestartMessage=Untuk menyelesaikan proses instalasi [name], Program harus merestart komputer anda.%n%nKomputer akan direstart sekarang? ShowReadmeCheck=Ya, Saya ingin membaca berkas README YesRadio=&Ya, Restart komputer sekarang juga NoRadio=&Tidak, saya akan restart komputer sendiri ; used for example as 'Run MyProg.exe' RunEntryExec=Jalankan %1 ; used for example as 'View Readme.txt' RunEntryShellExec=Tilik %1 ; *** "Setup Needs the Next Disk" stuff ChangeDiskTitle=Program Membutuhkan Disk Berikutnya

SelectDiskLabel2=Mohon masukkan Disk %1 dan klik OK.%n%nJika berkas pada disk ditemukan pada pelipat berbeda dari yang ditampilkan, Masukkan path yang benar atau klik Rambah. PathLabel=&Path: FileNotInDir2=Berkas "%1" tidak ditemukan di "%2". Mohon masukkan disk yang benar atau pilih pelipat yang lain. SelectDirectoryLabel=Spesifikasikan lokasi disk berikutnya. ; *** Installation phase messages SetupAborted=Instalasi belum selesai.%n%nMohon koreksi kesalahan yang ada dan jalankan program instalasi ini lagi. EntryAbortRetryIgnore=Klik Coba Lagi untuk mencobanya kembali, Indahkan untuk mengindahkannya, atau Batal untuk membatalkan instalasi. ; *** Installation status messages StatusCreateDirs=Membuat pelipat... StatusExtractFiles=Mengekstrak berkas... StatusCreateIcons=Membuat shortcut program... StatusCreateIniEntries=Memasukkan entri pada berkas INI... StatusCreateRegistryEntries=Memasukkan entri pada registry... StatusRegisterFiles=Meregistrasikan berkas... StatusSavingUninstall=Menyimpan informasi untuk deinstalasi... StatusRunProgram=Finalisasi instalasi... StatusRollback=Mengembalikan perubahan yang dilakukan... ; *** Misc. errors ErrorInternal2=Kesalahan internal: %1 ErrorFunctionFailedNoCode=%1 gagal ErrorFunctionFailed=%1 gagal; kode %2 ErrorFunctionFailedWithMessage=%1 gagal; kode %2.%n%3 ErrorExecutingProgram=Gagal mengeksekusi berkas:%n%1 ; *** Registry errors ErrorRegOpenKey=Gagal membuka registry key:%n%1\%2 ErrorRegCreateKey=Gagal membuat registry key:%n%1\%2 ErrorRegWriteKey=Gagal menulis to registry key:%n%1\%2 ; *** INI errors ErrorIniEntry=Gagal membuat entry INI pada berkas "%1". ; *** File copying errors FileAbortRetryIgnore=Klik Coba Lagi untuk mencoba lagi, Indahkan untuk mengindahkan berkas ini (tidak direkomendasikan), atau Batal untuk membatalkan instalasi. FileAbortRetryIgnore2=Klik Coba Lagi untuk mencoba lagi, Indahkan untuk mengindahkan berkas ini (tidak direkomendasikan), atau Batal untuk membatalkan instalasi. SourceIsCorrupted=Berkas asal telah rusak SourceDoesntExist=Berkas asal "%1" tidak valid ExistingFileReadOnly=Berkas yang ada tercatat sebagai read-only.%n%nKlik Coba Lagi untuk membuang catatan atribut read-only dan coba lagi, Indahkan untuk mengindahkan berkas ini, atau Batal untuk membatalkan instalasi. ErrorReadingExistingDest=Kesalahan muncul saat mencoba membaca berkas berikut:

FileExists=Berkas sudah ada.%n%nApakah berkas tersebut akan ditimpa saja? ExistingFileNewer=Berkas yang sudah ada lebih baru dari yang hendak diinstal. Direkomendasikan untuk membiarkan berkas tersebut.%n%nApakah akan membiarkan berkas tersebut? ErrorChangingAttr=Kesalahan muncul saat mencoba merubah atribut berkas berikut: ErrorCreatingTemp=Kesalahan muncul saat mencoba membuat berkas pada direktori tujuan: ErrorReadingSource=Kesalahan muncul saat mencoba membaca berkas asal: ErrorCopying=Kesalahan muncul saat mencoba meng-copy berkas: ErrorReplacingExistingFile=Kesalahan muncul saat mencoba me-replace berkas: ErrorRestartReplace=RestartReplace gagal: ErrorRenamingTemp=Kesalahan muncul saat mencoba me-rename berkas pada direktori tujuan: ErrorRegisterServer=Gagal meregister berkas DLL/OCX: %1 ErrorRegisterServerMissingExport=DllRegisterServer export tidak ditemukan ErrorRegisterTypeLib=Gagal meregister type library: %1 ; *** Post-installation errors ErrorOpeningReadme=Kesalahan muncul saat mencoba membuka berkas README. ErrorRestartingComputer=Setup tidak bisa meresart komputer anda. Silahkan lakukan secara manual. ; *** Uninstaller messages UninstallNotFound=Berkas "%1" tidak ditemukan. Tidak dapat melanjutkan proses deinstalasi UninstallOpenError=Berkas "%1" tidak bisa dibuka. Tidak dapat melanjutkan proses deinstalasi UninstallUnsupportedVer=Arsip log berkas "%1" tidak dalam format yang dikenali oleh versi uninstaller ini. Deinstalasi tidak dapat dilanjutkan UninstallUnknownEntry=Entri tidak dikenal (%1) ditemukan pada arsip log deinstalasi ConfirmUninstall=Yakinkah anda untuk menghapus %1 beserta seluruh komponen yang terkait? UninstallOnlyOnWin64=Instalasi ini hanya bisa melakukan deinstalasi pada Windows 64-bit. OnlyAdminCanUninstall=Prosesi deinstalasi hanya bisa dilakukan oleh user yang memiliki kewenangan administratif. UninstallStatusLabel=Mohon tunggu selama aplikasi %1 sedang dihapus dari komputer anda. UninstalledAll=Aplikasi %1 berhasil dihapus dari komputer anda. UninstalledMost=Deinstalasi %1 selesai.%n%nBeberapa elemen tidak berhasil dihapus dan harus anda lakukan secara manual. UninstalledAndNeedsRestart=Untuk menyelesaikan deinstalasi aplikasi %1, komputer anda harus direstart.%n%nKomputer akan direstart sekarang? UninstallDataCorrupted=Berkas "%1" telah rusak. Tidak dapat melanjutkan proses deinstalasi ; *** Uninstallation phase messages ConfirmDeleteSharedFileTitle=Hapus Shared File? ConfirmDeleteSharedFile2=Sistem mengindikasikan bahwa shared berkas berikut tidak digunakan oleh program apapun. Apakah anda akan menghapus shared berkas ini?%n%nJika ternyata ada program yang masih membutuhkan berkas tersebut dan ternyata

terhapus, Program tersebut tidak akan berjalan sebagaimana mestinya. Jika anda ragu, Pilih Tidak. Membiarkan berkas pada sistem anda tidak akan menyebabkan kerusakan apapun. SharedFileNameLabel=Nama berkas: SharedFileLocationLabel=Lokasi: WizardUninstalling=Status Deinstalasi StatusUninstalling=Deinstalasi %1... ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 versi %2 AdditionalIcons=Tambahan ikon: CreateDesktopIcon=Buat ikon di &desktop CreateQuickLaunchIcon=Buat ikon &Quick Launch ProgramOnTheWeb=%1 di Web UninstallProgram=Deinstal %1 LaunchProgram=Jalankan %1 AssocFileExtension=&Asosiasikan %1 dengan ekstensi berkas %2 AssocingFileExtension=Mengasosiasikan %1 dengan ekstensi berkas %2 ...

Copas script tersebut di notepad kemudian simapan dengan nama Indonesian.isl selanjutnya masukkan hasil simpanannya ke folder language di tempat installasi inno setup. Secara otomatis sekarang Anda sudah bisa membuat compiler dengan bahasa indonesia.

Adapun script dalam file iss yang sudah anda buat di atas harus disisipkan di tag [languages] berikut scriptnya :

[Languages] Name: "indonesian"; MessagesFile: "compiler:Languages\Indonesian.isl" Name: "english"; MessagesFile: "compiler:Default.isl" Hasilnya sebagai berikut :

Demikianlah artikel cara MEMBUAT PAKET INSTALLASI VB dan MySql secara profesional. Mudah-mudahan bermanfaat

Jika anda ingin melihat scriptnya secara utuh silahkan copas script berikut : #define MyAppName "SI Perpustakaan SMAPANK" #define MyAppVersion "1.5" #define MyAppPublisher "Zainal Abidin" #define MyAppURL "http://www.smapank-info.blogspot.com/" #define MyAppExeName "PERPUSTAKAAN.exe" [Setup] AppId={{18B10D53-EC00-4262-A64E-BB5D0FE9C015} AppName={#MyAppName} AppVersion={#MyAppVersion} AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\PERPUS DefaultGroupName={#MyAppName} LicenseFile=lisensi.rtf OutputBaseFilename=setup SetupIconFile=Logo.ico Compression=lzma SolidCompression=yes ;Perintah tambahan AllowCancelDuringInstall = yes AllowNoIcons = yes AlwaysRestart = no AlwaysShowComponentsList = no DisableProgramGroupPage = yes AppendDefaultDirName = yes CreateUninstallRegKey = yes DisableStartupPrompt = yes LanguageDetectionMethod=none ShowLanguageDialog=yes Uninstallable = yes UninstallFilesDir={app}\uninst UninstallDisplayIcon={app}\{#MyAppExeName},0 UninstallDisplayName={#MyAppName} WindowVisible = no AppCopyright=Copyright © 2013. ZAINAL ABIDIN's Laboratory FlatComponentsList = yes PrivilegesRequired = admin VersionInfoVersion={#MyAppVersion} WizardImageFile=besar.bmp WizardSmallImageFile=kecil.bmp [Languages] Name: "indonesian"; MessagesFile: "compiler:Languages\Indonesian.isl" Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 ;Tambahan Name: installmysql; Description: "Install MySQL"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installfont; Description: "Install Font Barcode"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installskin; Description: "Install Skin"; GroupDescription: "Proses tambahan:"; Flags: checkedonce [Files] Source: "dll&ocx\actskn43.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\agentctl.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\asycfilt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\COMCAT.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\comdlg32.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\Crpaig80.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\crpe32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crxlat32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crystl32.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\Implode.dll"; DestDir: "{app}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\mfc42.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSADODC.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSBIND.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomct2.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomctl.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msdatgrd.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msstdfmt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msvbvm60.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msvcrt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\oleaut32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist

Source: "dll&ocx\olepro32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\p2bbde.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2bbnd.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bxbse.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ctdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2irdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sifmx.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2smon.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2soledb.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sora7.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssql.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssyb10.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u252000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u25dts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\U25IDAutomation.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dapp.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ddisk.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dmapi.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dnotes.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dpost.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dvim.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fcr.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fhtml.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frec.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frtf.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fsepv.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ftext.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fwks.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fwordw.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fxls.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2l2000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lcom.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ldts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lsamp1.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\VB6STKIT.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist ;MySql Connector ODBC Source: Connector ODBC 5.2\myodbc5S.dll; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5S.lib; DestDir: "{sys}"; Flags: onlyifdoesntexist

Source: Connector ODBC 5.2\myodbc5w.dll; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5w.lib; DestDir: "{sys}"; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc-installer.exe; DestDir: "{sys}"; Flags: onlyifdoesntexist ;MySql Server Source: MySQL Server 5.5\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql Source: MySQL Server 5.5\lib\*; DestDir: {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\data\*; DestDir: {app}\mysql\data; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql Source: MySQL Server 5.5\*; DestDir: {app}\mysql; Flags: ignoreversion; Tasks: installmysql ;Isi dari folder main Source: main\PERPUSTAKAAN.exe; DestDir: {app}; Flags: ignoreversion Source: main\perpustakaan.sql; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: main\exec.cmd; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: main\*.rpt; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs ;File tambahan Source: Skins\*; DestDir: {app}\Skins; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: installskin Source: Font\*.ttf; DestDir: {fonts}; Flags: ignoreversion onlyifdoesntexist; Tasks: installfont [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon [INI] Filename: {app}\mysql\my.ini; Section: mysqld; Key: basedir; String: {app}\mysql; Tasks: installmysql Filename: {app}\mysql\my.ini; Section: mysqld; Key: datadir; String: {app}\mysql\data; Tasks: installmysql Filename: {app}\infoProgram.ini; Section: Sistem; Key: serverName; String: "127.0.0.1" Filename: {app}\infoProgram.ini; Section: Sistem; Key: dbName; String: "perpustakaan" [Run] ;install service MySQL Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "install ""MySQL"""; StatusMsg: "Sedang menginstall service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2; Tasks: installmysql ;jalankan service MySQL Filename: {sys}\net.exe; Parameters: "start ""MySQL"""; StatusMsg: "Sedang menjalankan service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381; Tasks: installmysql

;mendaftarkan port default mysql (3306) ke firewall Filename: "{sys}\netsh.exe"; Parameters: "firewall add portopening TCP 3306 ""Port MySQL"""; StatusMsg: "Sedang mendaftarkan port MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{sys}\netsh.exe"; Parameters: "firewall set service type = fileandprint mode = enable"; StatusMsg: "Mengaktifkan File and Printer Sharing ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;mengganti password default root (blank). ex : masterkey Filename: "{app}\mysql\bin\mysqladmin.exe"; Parameters: "-uroot password masterkey"; StatusMsg: "Mengganti password root"; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menghapus user default1 (user=blank, password=blank) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='localhost' AND User=''"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menghapus user default2 (user=root, password=blank) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='127.0.0.1' AND User='root'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;set agar user root bisa login dari mesin lain (kalo diperlukan) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'masterkey'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;membuat database kosong Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""CREATE DATABASE perpustakaan"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menjalankan file batch exec.cmd untuk melakukan proses undump Filename: "{app}\mysql\bin\exec.cmd"; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;install driver myodbc Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -a -n ""MySQL ODBC 5.2w Driver"" -t ""DRIVER=myodbc5w.dll;SETUP=myodbc5S.dll"""; StatusMsg: "Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.2"; Flags: runhidden ;buka program setelah proses installasi selesai Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[UninstallRun] Filename: {sys}\net.exe; Parameters: "stop ""MySQL"""; StatusMsg: "Menghentikan Service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381 Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "remove ""MySQL"""; StatusMsg: "Sedang menghapus service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -r -n ""MySQL ODBC 5.2w Driver"""; StatusMsg: "Tunggu sedang menghapus driver MySQL Connector ODBC 5.2w"; Flags: runhidden [UninstallDelete] ;menghapus file MySql Type: files; Name: {app}\mysql\bin\*.* Type: files; Name: {app}\mysql\lib\*.* Type: files; Name: {app}\mysql\share\*.* ;menghapus file connector Type: files; Name: {sys}\myodbc5S.dll Type: files; Name: {sys}\myodbc5S.lib Type: files; Name: {sys}\myodbc5w.dll Type: files; Name: {sys}\myodbc5w.lib Type: files; Name: {sys}\myodbc-installer.exe [Registry] ;mencatat lokasi instalasi program, ini dibutuhkan jika kita ingin membuat paket instalasi update Root: HKCU; Subkey: "Software\SMAPANK\PERPUS"; ValueName: "installDir"; ValueType: String; ValueData: {app}; Flags: uninsdeletevalue

Atau Anda bisa menggunakan ini [Setup] AppName=SI Perpustakaan SMAPANK AppVerName=SI Perpustakaan SMAPANK 1.0.0.50 AppPublisher=ZAINAL ABIDIN's Laboratory AllowCancelDuringInstall = yes DefaultDirName={pf}\PERPUS DefaultGroupName=PERPUS Compression = lzma SolidCompression = yes OutputBaseFilename=SetupPERPUSServer AllowNoIcons = yes AlwaysRestart = no AlwaysShowComponentsList = no DisableProgramGroupPage = yes AppendDefaultDirName = yes CreateUninstallRegKey = yes DisableStartupPrompt = yes LanguageDetectionMethod=none ShowLanguageDialog=yes Uninstallable = yes UninstallFilesDir={app}\uninst UninstallDisplayIcon={app}\PERPUSTAKAAN.exe,0 UninstallDisplayName=SI Perpustakaan SMAPANK WindowVisible = no AppCopyright=Copyright © 2013. ZAINAL ABIDIN's Laboratory FlatComponentsList = yes PrivilegesRequired = admin VersionInfoVersion=1.0.0.50 LicenseFile=lisensi.rtf SetupIconFile=logo.ico WizardImageFile=besar.bmp WizardSmallImageFile=kecil.bmp [Languages] Name: "indonesian"; MessagesFile: "compiler:Languages\Indonesian.isl" Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked Name: installmysql; Description: "Install MySQL"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installfont; Description: "Install Font Barcode"; GroupDescription: "Proses tambahan:"; Flags: checkedonce Name: installskin; Description: "Install Skin"; GroupDescription: "Proses tambahan:"; Flags: checkedonce [Files]

;Visual Basic Runtime Source: dll&ocx\VB6STKIT.DLL; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist Source: dll&ocx\COMCAT.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: dll&ocx\asycfilt.dll; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist Source: dll&ocx\olepro32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: dll&ocx\oleaut32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: dll&ocx\msvbvm60.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist ;daftar file MySQL Source: MySQL Server 5.5\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql Source: MySQL Server 5.5\lib\*; DestDir: {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql Source: MySQL Server 5.5\data\*; DestDir: {app}\mysql\data; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql Source: MySQL Server 5.5\*; DestDir: {app}\mysql; Flags: ignoreversion; Tasks: installmysql ;daftar file MySQL ODBC 5.2 Source: Connector ODBC 5.2\myodbc5w.dll; DestDir: {sys}; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5S.dll; DestDir: {sys}; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5w.lib; DestDir: {sys}; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc5S.lib; DestDir: {sys}; Flags: onlyifdoesntexist Source: Connector ODBC 5.2\myodbc-installer.exe; DestDir: {sys}; Flags: onlyifdoesntexist ;My Application Runtime ;Source: main\Albasi.exe.manifest; DestDir: {app}; Flags: ignoreversion Source: main\PERPUSTAKAAN.exe; DestDir: {app}; Flags: ignoreversion Source: main\*.rpt; DestDir: {app}; Flags: ignoreversion Source: main\perpustakaan.sql; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: main\exec.cmd; DestDir: {app}\mysql\bin; Flags: ignoreversion Source: Skins\*; DestDir: {app}\Skins; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: installskin Source: "dll&ocx\actskn43.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\agentctl.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\comdlg32.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\Crpaig80.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\crpe32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crxlat32.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\Crystl32.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist

Source: "dll&ocx\Implode.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "dll&ocx\mfc42.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSADODC.OCX"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\MSBIND.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomct2.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\mscomctl.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msdatgrd.ocx"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msstdfmt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist Source: "dll&ocx\msvcrt.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bbde.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2bbnd.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2bxbse.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ctdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2irdao.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sifmx.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\P2smon.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2soledb.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2sora7.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssql.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\p2ssyb10.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u252000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u25dts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dapp.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ddisk.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dmapi.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dnotes.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dpost.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2dvim.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fcr.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fhtml.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fodbc.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frec.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2frtf.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fsepv.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ftext.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fwks.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist

Source: "dll&ocx\u2fwordw.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2fxls.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2l2000.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lcom.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2ldts.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\u2lsamp1.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "dll&ocx\U25IDAutomation.dll"; DestDir: "{sys}"; Flags: uninsneveruninstall onlyifdoesntexist Source: "Font\*.ttf"; DestDir: "{fonts}"; Flags: uninsneveruninstall onlyifdoesntexist; Tasks: installfont [Icons] Name: {group}\SI Perpustakaan SMAPANK; Filename: {app}\PERPUSTAKAAN.exe; WorkingDir: {app} Name: {group}\{cm:UninstallProgram,uninstall}; Filename: {uninstallexe} Name: {userdesktop}\SI Perpustakaan SMAPANK; Filename: {app}\PERPUSTAKAAN.exe; WorkingDir: {app}; Tasks: desktopicon Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\SI Perpustakaan SMAPANK; Filename: {app}\PERPUSTAKAAN.exe; WorkingDir: {app}; Tasks: quicklaunchicon [INI] Filename: {app}\mysql\my.ini; Section: mysqld; Key: basedir; String: {app}\mysql; Tasks: installmysql Filename: {app}\mysql\my.ini; Section: mysqld; Key: datadir; String: {app}\mysql\data; Tasks: installmysql Filename: {app}\infoProgram.ini; Section: Sistem; Key: serverName; String: "127.0.0.1" Filename: {app}\infoProgram.ini; Section: Sistem; Key: dbName; String: "perpustakaan" [Run] ;install service MySQL Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "install ""MySQL"""; StatusMsg: "Sedang menginstall service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2; Tasks: installmysql ;jalankan service MySQL Filename: {sys}\net.exe; Parameters: "start ""MySQL"""; StatusMsg: "Sedang menjalankan service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381; Tasks: installmysql ;mendaftarkan port default mysql (3306) ke firewall Filename: "{sys}\netsh.exe"; Parameters: "firewall add portopening TCP 3306 ""Port MySQL"""; StatusMsg: "Sedang mendaftarkan port MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

Filename: "{sys}\netsh.exe"; Parameters: "firewall set service type = fileandprint mode = enable"; StatusMsg: "Mengaktifkan File and Printer Sharing ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;mengganti password default root (blank). ex : masterkey Filename: "{app}\mysql\bin\mysqladmin.exe"; Parameters: "-uroot password masterkey"; StatusMsg: "Mengganti password root"; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menghapus user default1 (user=blank, password=blank) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='localhost' AND User=''"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menghapus user default2 (user=root, password=blank) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""DELETE FROM mysql.user WHERE Host='127.0.0.1' AND User='root'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;set agar user root bisa login dari mesin lain (kalo diperlukan) Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'masterkey'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;membuat database kosong Filename: "{app}\mysql\bin\mysql.exe"; Parameters: "-uroot -pmasterkey -e ""CREATE DATABASE perpustakaan"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;menjalankan file batch exec.cmd untuk melakukan proses undump Filename: "{app}\mysql\bin\exec.cmd"; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;install driver myodbc Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -a -n ""MySQL ODBC 5.2w Driver"" -t ""DRIVER=myodbc5w.dll;SETUP=myodbc5S.dll"""; StatusMsg: "Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.2"; Flags: runhidden ;skrip baru yang ditambahkan ;Filename: "{sys}\myodbc-installer.exe"; Parameters: "-s -a -c1 -n ""dsn-konekPerpus"" -t ""DRIVER=MySQL ODBC 5.2w Driver;SERVER=127.0.0.1;DATABASE=perpustakaan;UID=root;PWD=masterkey"""; StatusMsg: "Tunggu sedang membuat DSN-PERPUS"; Flags: runhidden Filename: "{app}\PERPUSTAKAAN.exe"; Description: "{cm:LaunchProgram,PERPUS}"; Flags: nowait postinstall skipifsilent [UninstallRun]

Filename: {sys}\net.exe; Parameters: "stop ""MySQL"""; StatusMsg: "Menghentikan Service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381 Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "remove ""MySQL"""; StatusMsg: "Sedang menghapus service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2 ;skrip baru yang ditambahkan ;Filename: "{sys}\myodbc-installer.exe"; Parameters: "-s -r -c1 -n ""dsn-konekPerpus"""; StatusMsg: "Tunggu sedang menghapus DSN-PERPUS"; Flags: runhidden Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -r -n ""MySQL ODBC 5.2w Driver"""; StatusMsg: "Tunggu sedang menghapus driver MySQL Connector ODBC 5.2w"; Flags: runhidden [UninstallDelete] Type: files; Name: {app}\mysql\bin\*.* ;Type: files; Name: {app}\mysql\Docs\*.* Type: files; Name: {app}\mysql\lib\*.* Type: files; Name: {app}\mysql\share\*.* Type: files; Name: {sys}\myodbc5S.dll Type: files; Name: {sys}\myodbc5S.lib Type: files; Name: {sys}\myodbc5w.dll Type: files; Name: {sys}\myodbc5w.lib Type: files; Name: {sys}\myodbc-installer.exe [Registry] ;mencatat lokasi instalasi program, ini dibutuhkan jika kita ingin membuat paket instalasi update Root: HKCU; Subkey: "Software\SMAPANK\PERPUS"; ValueName: "installDir"; ValueType: String; ValueData: {app}; Flags: uninsdeletevalue