Jumat, 15 November 2013


1. Deklarasikan Dulu Informasi Setup yang akan kita buat.

01[Setup]
02AppName=Aplikasi Mini Market
03AppVerName=Aplikasi Mini Market Versi 1.0
04AppPublisher=Bentenk Corp.
05AppCopyright=Copyright © 2010. Bentenk Corp.
06AppPublisherURL=djuliar.blogspot.com
07AppSupportURL=djuliar.blogspot.com
08AppVersion=1.1.0.50
09AppID=MINIMARKET
10AppContact=DJuli Ariyadi
11AppSupportPhone=081234567890
12AllowCancelDuringInstall =yes
13AllowNoIcons =yes
14AlwaysRestart =no
15AlwaysShowComponentsList =no
16AlwaysUsePersonalGroup=true
17DefaultDirName={pf}\MINIMARKET
18DefaultGroupName=MINIMARKET
19Compression =lzma
20SolidCompression =yes
21OutputBaseFilename=Setup
22DisableProgramGroupPage =yes
23AppendDefaultDirName =yes
24CreateUninstallRegKey =yes
25DisableStartupPrompt =yes
26LanguageDetectionMethod=none
27ShowLanguageDialog=yes
28Uninstallable =yes
29UninstallFilesDir={app}\uninstall
30UninstallDisplayIcon=D:\Aplikasi MiniMarket\Picture\electric_shock.ico
31UninstallDisplayName=Aplikasi Mini Market
32UsePreviousAppDir=false
33UserInfoPage=true
34WindowVisible =no
35FlatComponentsList =yes
36PrivilegesRequired =admin
37VersionInfoVersion=1.0.0.50
38SetupIconFile=D:\Aplikasi MiniMarket\Picture\electric_shock.ico
39WizardImageFile=C:\Program Files\Inno Setup 5\WizModernImage-IS.bmp
40WizardSmallImageFile=C:\Program Files\Inno Setup 5\WizModernSmallImage-IS.bmp
41InfoBeforeFile=D:\Aplikasi MiniMarket\Project\ReadMe.txt
42LicenseFile=D:\Aplikasi MiniMarket\Project\License.txt
43RestartIfNeededByRun=false
44OutputDir=C:\
45SourceDir=C:\Program Files\MINIMARKET
46MinVersion=0,5.01.2600

2. Kita Tentukan Bahasa Saat Proses Setup, Disini saya menggunakan Bahasa Indonesia dan Inggris (*.isl)

1[Languages]
2Name: ina; MessagesFile: compiler:Indonesian.isl
3Name: en; MessagesFile: compiler:Default.isl

3. Kita Tentukan Tugas Tambahan, Seperti Membuat Shortcut dan Install MySQL 

1[Tasks]
2Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
3Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
4Name: installmysql; Description: Install MySQL; GroupDescription: Proses Tambahan:; Flags: checkedonce

4. Registrasi File-file yang akan digunakan atau dilakukan proses kompresi pada proses setup seperti file .ocx dan file .dll, file mysql, dan file aplikasi yang kita buat. 

01[Files]
02;Visual Basic Runtime
03Source: D:\Component\VB6STKIT.DLL; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist
04Source: D:\Component\COMCAT.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
05Source: D:\Component\asycfilt.dll; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist
06Source: D:\Component\olepro32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
07Source: D:\Component\oleaut32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
08Source: D:\Component\msvbvm60.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
09Source: D:\Component\COMDLG32.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
10Source: D:\Component\MSSTDFMT.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
11Source: D:\Component\MSBIND.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
12Source:  D:\Component\MSDE.DLL; DestDir: {pf}\Common Files\DESIGNER; Flags:  uninsneveruninstall sharedfile regserver onlyifdoesntexist
13Source:  D:\Component\MSDERUN.DLL; DestDir: {pf}\Common Files\DESIGNER; Flags:  uninsneveruninstall sharedfile regserver onlyifdoesntexist
14Source: D:\Component\MSDBRPTR.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
15Source: D:\Component\pageSet.dll; DestDir: {sys}; Flags: regserver restartreplace sharedfile
16
17;Daftar file MySQL
18Source: C:\xampp\mysql\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql
19Source: C:\Program Files\MySQL\Connector ODBC 5.1\doc\*; DestDir: {app}\mysql\doc; Flags: ignoreversion; Tasks: installmysql
20Source:  C:\Program Files\MySQL\Connector ODBC 5.1\lib\*; DestDir:  {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks:  installmysql
21Source: C:\xampp\mysql\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql
22Source:  C:\xampp\mysql\data\minimarket\*; DestDir:  {app}\mysql\data\minimarket\; Flags: ignoreversion recursesubdirs  uninsneveruninstall; Tasks: installmysql
23Source:  C:\xampp\mysql\data\mysql\*; DestDir: {app}\mysql\data\mysql; Flags:  ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
24Source:  C:\xampp\mysql\data\test\*; DestDir: {app}\mysql\data\test; Flags:  ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
25Source:  C:\xampp\mysql\data\webauth\*; DestDir: {app}\mysql\data\webauth;  Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks:  installmysql
26
27;daftar file MySQL ODBC 5.1
28Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5.dll; DestDir: {sys}; Flags: onlyifdoesntexist
29Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5S.dll; DestDir: {sys}; Flags: onlyifdoesntexist
30Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5.lib; DestDir: {sys}; Flags: onlyifdoesntexist
31Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5S.lib; DestDir: {sys}; Flags: onlyifdoesntexist
32Source: C:\Program Files\MySQL\Connector ODBC 5.1\bin\myodbc-installer.exe; DestDir: {sys}; Flags: onlyifdoesntexist
33
34;My Application Runtime
35Source: D:\Aplikasi MiniMarket\Project\Picture\*; DestDir: {app}\Picture; Flags: ignoreversion
36Source: D:\Aplikasi MiniMarket\Project\MiniMarket.exe; DestDir: {app}; Flags: ignoreversion
37Source: D:\Aplikasi MiniMarket\Project\manual.pdf; DestDir: {app}; Flags: ignoreversion
38Source: D:\Aplikasi MiniMarket\Project\background.ini; DestDir: {app}; Flags: ignoreversion
39Source: D:\Aplikasi MiniMarket\Project\koneksi.ini; DestDir: {app}; Flags: ignoreversion
40Source: D:\Aplikasi MiniMarket\Project\ReadMe.txt; DestDir: {app}; Flags: ignoreversion
41;Font
42Source: D:\Aplikasi MiniMarket\Project\Calibri.ttf; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion
43Source: D:\Aplikasi MiniMarket\Project\trebuc.ttf; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion
44Source: D:\Aplikasi MiniMarket\Project\jethoseLOOSE.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion
45Source: D:\Aplikasi MiniMarket\Project\AUGIE.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion
46Source: D:\Aplikasi MiniMarket\Project\TT0610M_.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion
47;Backup & Restore
48Source: D:\Aplikasi MiniMarket\Project\backup.bat; DestDir: {app}; Flags: ignoreversion
49Source: D:\Aplikasi MiniMarket\Project\restore.bat; DestDir: {app}; Flags: ignoreversion
50Source: D:\Aplikasi MiniMarket\Project\mysql.exe; DestDir: {app}; Flags: ignoreversion
51Source: D:\Aplikasi Visual\Aplikasi MiniMarket\Project\mysqldump.exe; DestDir: {app}; Flags: ignoreversion

5. Menggunakan Icon pada File Aplikasi Kita dan Setup 

1[Icons]
2Name: {group}\Aplikasi Mini Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app}
3Name: {userdesktop}\Aplikasi Mini Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app}; Tasks: desktopicon
4Name:  {userappdata}\Microsoft\Internet Explorer\Quick Launch\Aplikasi Mini  Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app}; Tasks:  quicklaunchicon

6. Registrasikan File My.ini 

1[INI]
2Filename: {app}\mysql\my.ini; Section: mysqld; Key: basedir;String: {app}\mysql; Tasks: installmysql
3Filename: {app}\mysql\my.ini; Section: mysqld; Key: datadir;String: {app}\mysql\data; Tasks: installmysql

7. Proses Run Pada MySQL 

01[Run]
02;install service MySQL
03Filename: {app}\mysql\bin\mysqld.exe; Parameters: "install ""MySQL"""; StatusMsg: Sedang menginstall service MySQL ...; Flags: runhidden; MinVersion: 0,5.01.2600sp2; Tasks: installmysql
04
05;jalankan service MySQL
06Filename: {sys}\net.exe; Parameters: "start ""MySQL"""; StatusMsg: Sedang menjalankan service MySQL ...; Flags: runhidden; MinVersion: 0.0,4.0.1381; Tasks: installmysql
07
08;mendaftarkan port default mysql (3306) ke firewall
09Filename: {sys}\netsh.exe; Parameters: "firewall add portopening TCP 3306 ""Port MySQL"""; StatusMsg: Sedang mendaftarkan port MySQL ...; Flags: runhidden; MinVersion: 0,5.01.2600sp2
10Filename: {sys}\netsh.exe; Parameters: firewall set service type = fileandprint mode = enable; StatusMsg: Mengaktifkan File and Printer Sharing ...; Flags: runhidden; MinVersion: 0,5.01.2600sp2
11
12;mengganti password default root (blank). ex : masterkey
13Filename: {app}\mysql\bin\mysqladmin.exe; Parameters: -uroot password masterkey; StatusMsg: Mengganti password root; Flags: runhidden; MinVersion: 0,5.01.2600sp2
14
15;menghapus user default1 (user=blank, password=blank)
16Filename: {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
17Filename: {app}\mysql\bin\mysql.exe; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
18
19;menghapus user default2 (user=root, password=blank)
20Filename: {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
21Filename: {app}\mysql\bin\mysql.exe; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
22
23;set agar user root bisa login dari mesin lain (kalo diperlukan)
24Filename: {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
25Filename: {app}\mysql\bin\mysql.exe; Parameters: "-uroot -pmasterkey -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
26
27;membuat database kosong
28Filename: {app}\mysql\bin\mysql.exe; Parameters: "-uroot -pmasterkey -e ""CREATE DATABASE minimarket"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
29
30;menjalankan file batch exec.cmd untuk melakukan proses undump
31Filename: {app}\mysql\bin\exec.cmd; Flags: runhidden; MinVersion: 0,5.01.2600sp2
32
33;install driver myodbc
34Filename: {sys}\myodbc-installer.exe; Parameters: "-d -a -n ""MySQL ODBC 5.1 Driver"" -t ""DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"""; StatusMsg: Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.1.5; Flags: runhidden
35Filename: {sys}\myodbc-installer.exe; Parameters: "-s -a -c1 -n ""MINIMARKET"" -t ""DRIVER=MySQL ODBC 5.1 Driver;DESCRIPTION=MINIMARKET;SERVER=127.0.0.1;DATABASE=minimarket;UID=root;PWD=masterkey"""; StatusMsg: Tunggu sedang membuat DSN; Flags: runhidden

8. Proses Uninstall Pada Aplikasi 

1[UninstallRun]
2Filename:  {sys}\net.exe; Parameters: "stop ""MySQL"""; StatusMsg: Menghentikan  Service MySQL ...; Flags: runhidden; MinVersion: 0.0,4.0.1381
3Filename:  {app}\mysql\bin\mysqld.exe; Parameters: "remove ""MySQL"""; StatusMsg:  Sedang menghapus service MySQL ...; Flags: runhidden; MinVersion:  0,5.01.2600sp2
4
5;skrip baru yang ditambahkan
6Filename:  {sys}\myodbc-installer.exe; Parameters: "-s -r -c1 -n ""MINIMARKET""";  StatusMsg: Tunggu sedang menghapus DSN; Flags: runhidden
7Filename:  {sys}\myodbc-installer.exe; Parameters: "-d -r -n ""MySQL ODBC 5.1  Driver"""; StatusMsg: Tunggu sedang menghapus driver MySQL Connector  ODBC 5.1.5; Flags: runhidden

9. Membuat List Delete File yang Akan di Hapus Saat Proses UnInstall 

01[UninstallDelete]
02Type: files; Name: {app}\mysql\bin\*.*
03Type: files; Name: {app}\mysql\Docs\*.*
04Type: files; Name: {app}\mysql\lib\*.*
05Type: files; Name: {app}\mysql\share\*.*
06Type: files; Name: {app}\mysql\data\*.*
07Type: files; Name: {app}\*.*
08Type: files; Name: {sys}\myodbc5.dll;
09Type: files; Name: {sys}\myodbc5S.dll;
10Type: files; Name: {sys}\myodbc5.lib;
11Type: files; Name: {sys}\myodbc5S.lib;
12Type: files; Name: {sys}\myodbc-installer.exe;

10. Mendaftarkan Aplikasi Kita Pada Registration Editor 

1[Registry]
2;mencatat lokasi instalasi program, ini dibutuhkan jika kita ingin membuat paket instalasi update
3Root:  HKCU; Subkey: Software\Bentenk\MiniMarket; ValueName: installDir;  ValueType: String; ValueData: {app}; Flags: uninsdeletevalue

0 komentar:

Posting Komentar

Subscribe to RSS Feed Follow me on Twitter!