1. Deklarasikan Dulu Informasi Setup yang akan kita buat.
01 | [Setup] |
02 | AppName=Aplikasi Mini Market |
03 | AppVerName=Aplikasi Mini Market Versi 1.0 |
04 | AppPublisher=Bentenk Corp. |
05 | AppCopyright=Copyright © 2010. Bentenk Corp. |
06 | AppPublisherURL=djuliar.blogspot.com |
07 | AppSupportURL=djuliar.blogspot.com |
08 | AppVersion=1.1.0.50 |
09 | AppID=MINIMARKET |
10 | AppContact=DJuli Ariyadi |
11 | AppSupportPhone=081234567890 |
12 | AllowCancelDuringInstall =yes |
13 | AllowNoIcons =yes |
14 | AlwaysRestart =no |
15 | AlwaysShowComponentsList =no |
16 | AlwaysUsePersonalGroup=true |
17 | DefaultDirName={pf}\MINIMARKET |
18 | DefaultGroupName=MINIMARKET |
19 | Compression =lzma |
20 | SolidCompression =yes |
21 | OutputBaseFilename=Setup |
22 | DisableProgramGroupPage =yes |
23 | AppendDefaultDirName =yes |
24 | CreateUninstallRegKey =yes |
25 | DisableStartupPrompt =yes |
26 | LanguageDetectionMethod=none |
27 | ShowLanguageDialog=yes |
28 | Uninstallable =yes |
29 | UninstallFilesDir={app}\uninstall |
30 | UninstallDisplayIcon=D:\Aplikasi MiniMarket\Picture\electric_shock.ico |
31 | UninstallDisplayName=Aplikasi Mini Market |
32 | UsePreviousAppDir=false |
33 | UserInfoPage=true |
34 | WindowVisible =no |
35 | FlatComponentsList =yes |
36 | PrivilegesRequired =admin |
37 | VersionInfoVersion=1.0.0.50 |
38 | SetupIconFile=D:\Aplikasi MiniMarket\Picture\electric_shock.ico |
39 | WizardImageFile=C:\Program Files\Inno Setup 5\WizModernImage-IS.bmp |
40 | WizardSmallImageFile=C:\Program Files\Inno Setup 5\WizModernSmallImage-IS.bmp |
41 | InfoBeforeFile=D:\Aplikasi MiniMarket\Project\ReadMe.txt |
42 | LicenseFile=D:\Aplikasi MiniMarket\Project\License.txt |
43 | RestartIfNeededByRun=false |
44 | OutputDir=C:\ |
45 | SourceDir=C:\Program Files\MINIMARKET |
46 | MinVersion=0,5.01.2600 |
2. Kita Tentukan Bahasa Saat Proses Setup, Disini saya menggunakan Bahasa Indonesia dan Inggris (*.isl)
1 | [Languages] |
2 | Name: ina; MessagesFile: compiler:Indonesian.isl |
3 | Name: en; MessagesFile: compiler: Default .isl |
3. Kita Tentukan Tugas Tambahan, Seperti Membuat Shortcut dan Install MySQL
1 | [Tasks] |
2 | Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked |
3 | Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked |
4 | Name: 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 |
03 | Source: D:\Component\VB6STKIT.DLL; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist |
04 | Source: D:\Component\COMCAT.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
05 | Source: D:\Component\asycfilt.dll; DestDir: {sys}; Flags: uninsneveruninstall onlyifdoesntexist |
06 | Source: D:\Component\olepro32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
07 | Source: D:\Component\oleaut32.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
08 | Source: D:\Component\msvbvm60.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
09 | Source: D:\Component\COMDLG32.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
10 | Source: D:\Component\MSSTDFMT.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
11 | Source: D:\Component\MSBIND.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
12 | Source: D:\Component\MSDE.DLL; DestDir: {pf}\Common Files\DESIGNER; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
13 | Source: D:\Component\MSDERUN.DLL; DestDir: {pf}\Common Files\DESIGNER; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
14 | Source: D:\Component\MSDBRPTR.DLL; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist |
15 | Source: D:\Component\pageSet.dll; DestDir: {sys}; Flags: regserver restartreplace sharedfile |
16 |
17 | ;Daftar file MySQL |
18 | Source: C:\xampp\mysql\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql |
19 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\doc\*; DestDir: {app}\mysql\doc; Flags: ignoreversion; Tasks: installmysql |
20 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\*; DestDir: {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks: installmysql |
21 | Source: C:\xampp\mysql\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql |
22 | Source: C:\xampp\mysql\data\minimarket\*; DestDir: {app}\mysql\data\minimarket\; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql |
23 | Source: C:\xampp\mysql\data\mysql\*; DestDir: {app}\mysql\data\mysql; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql |
24 | Source: C:\xampp\mysql\data\test\*; DestDir: {app}\mysql\data\test; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql |
25 | Source: C:\xampp\mysql\data\webauth\*; DestDir: {app}\mysql\data\webauth; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql |
26 |
27 | ;daftar file MySQL ODBC 5.1 |
28 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5.dll; DestDir: {sys}; Flags: onlyifdoesntexist |
29 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5S.dll; DestDir: {sys}; Flags: onlyifdoesntexist |
30 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5.lib; DestDir: {sys}; Flags: onlyifdoesntexist |
31 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\lib\myodbc5S.lib; DestDir: {sys}; Flags: onlyifdoesntexist |
32 | Source: C:\Program Files\MySQL\Connector ODBC 5.1\bin\myodbc-installer.exe; DestDir: {sys}; Flags: onlyifdoesntexist |
33 |
34 | ;My Application Runtime |
35 | Source: D:\Aplikasi MiniMarket\Project\Picture\*; DestDir: {app}\Picture; Flags: ignoreversion |
36 | Source: D:\Aplikasi MiniMarket\Project\MiniMarket.exe; DestDir: {app}; Flags: ignoreversion |
37 | Source: D:\Aplikasi MiniMarket\Project\manual.pdf; DestDir: {app}; Flags: ignoreversion |
38 | Source: D:\Aplikasi MiniMarket\Project\background.ini; DestDir: {app}; Flags: ignoreversion |
39 | Source: D:\Aplikasi MiniMarket\Project\koneksi.ini; DestDir: {app}; Flags: ignoreversion |
40 | Source: D:\Aplikasi MiniMarket\Project\ReadMe.txt; DestDir: {app}; Flags: ignoreversion |
41 | ;Font |
42 | Source: D:\Aplikasi MiniMarket\Project\Calibri.ttf; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion |
43 | Source: D:\Aplikasi MiniMarket\Project\trebuc.ttf; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion |
44 | Source: D:\Aplikasi MiniMarket\Project\jethoseLOOSE.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion |
45 | Source: D:\Aplikasi MiniMarket\Project\AUGIE.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion |
46 | Source: D:\Aplikasi MiniMarket\Project\TT0610M_.TTF; DestDir: C:\WINDOWS\Fonts; Flags: ignoreversion |
47 | ;Backup & Restore |
48 | Source: D:\Aplikasi MiniMarket\Project\backup.bat; DestDir: {app}; Flags: ignoreversion |
49 | Source: D:\Aplikasi MiniMarket\Project\restore.bat; DestDir: {app}; Flags: ignoreversion |
50 | Source: D:\Aplikasi MiniMarket\Project\mysql.exe; DestDir: {app}; Flags: ignoreversion |
51 | Source: D:\Aplikasi Visual\Aplikasi MiniMarket\Project\mysqldump.exe; DestDir: {app}; Flags: ignoreversion |
5. Menggunakan Icon pada File Aplikasi Kita dan Setup
1 | [Icons] |
2 | Name: {group}\Aplikasi Mini Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app} |
3 | Name: {userdesktop}\Aplikasi Mini Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app}; Tasks: desktopicon |
4 | Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Aplikasi Mini Market; Filename: {app}\MiniMarket.exe; WorkingDir: {app}; Tasks: quicklaunchicon |
6. Registrasikan File My.ini
1 | [INI] |
2 | Filename: {app}\mysql\my.ini; Section: mysqld; Key: basedir; String : {app}\mysql; Tasks: installmysql |
3 | Filename: {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 |
03 | Filename: {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 |
06 | Filename: {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 |
09 | Filename: {sys}\netsh.exe; Parameters: "firewall add portopening TCP 3306 " "Port MySQL" "" ; StatusMsg: Sedang mendaftarkan port MySQL ...; Flags: runhidden; MinVersion: 0,5.01.2600sp2 |
10 | 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 |
11 |
12 | ;mengganti password default root (blank). ex : masterkey |
13 | Filename: {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) |
16 | 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 |
17 | Filename: {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) |
20 | 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 |
21 | Filename: {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) |
24 | 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 |
25 | Filename: {app}\mysql\bin\mysql.exe; Parameters: "-uroot -pmasterkey -e " "FLUSH PRIVILEGES" "" ; Flags: runhidden; MinVersion: 0,5.01.2600sp2 |
26 |
27 | ;membuat database kosong |
28 | Filename: {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 |
31 | Filename: {app}\mysql\bin\exec.cmd; Flags: runhidden; MinVersion: 0,5.01.2600sp2 |
32 |
33 | ;install driver myodbc |
34 | Filename: {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 |
35 | Filename: {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] |
2 | Filename: {sys}\net.exe; Parameters: "stop " "MySQL" "" ; StatusMsg: Menghentikan Service MySQL ...; Flags: runhidden; MinVersion: 0.0,4.0.1381 |
3 | Filename: {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 |
6 | Filename: {sys}\myodbc-installer.exe; Parameters: "-s -r -c1 -n " "MINIMARKET" "" ; StatusMsg: Tunggu sedang menghapus DSN; Flags: runhidden |
7 | Filename: {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] |
02 | Type: files; Name: {app}\mysql\bin\*.* |
03 | Type: files; Name: {app}\mysql\Docs\*.* |
04 | Type: files; Name: {app}\mysql\lib\*.* |
05 | Type: files; Name: {app}\mysql\share\*.* |
06 | Type: files; Name: {app}\mysql\data\*.* |
07 | Type: files; Name: {app}\*.* |
08 | Type: files; Name: {sys}\myodbc5.dll; |
09 | Type: files; Name: {sys}\myodbc5S.dll; |
10 | Type: files; Name: {sys}\myodbc5.lib; |
11 | Type: files; Name: {sys}\myodbc5S.lib; |
12 | Type: 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 |
3 | Root: HKCU; Subkey: Software\Bentenk\MiniMarket; ValueName: installDir; ValueType: String ; ValueData: {app}; Flags: uninsdeletevalue |
0 komentar:
Posting Komentar