Welcome

Welcome, thanks to look my blog

Saturday 19 October 2013

Inno Setup (Instalasi Program Delphi dan MySQL otomatis ke PC)

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "ProjectAdmin"                                        
#define MyAppVersion "2.0"
#define MyAppPublisher "Success.Com"
#define MyAppExeName "ePresensiAdmin.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5EC16AD1-1A2D-4726-A679-50CBB146B14E}
AppName=ProjectAdmin
AppVersion=2.0
;AppVerName=Surat 1.0
AppPublisher=Success.Com
AppPublisherURL=www.Success.Com
AppSupportURL=http:www.Success.Com
AppUpdatesURL=www.Success.Com
DefaultDirName=D:\ProjectAdmin
DisableDirPage=yes
DefaultGroupName=ProjectAdmin
DisableProgramGroupPage=yes
OutputDir=D:\Output Inno Setup
OutputBaseFilename=Admin Password
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Icons]
Name: "{group}\ProjectAdmin"; Filename: "{app}\ePresensiAdmin.exe"
Name: "{group}\{cm:UninstallProgram,Surat}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\ProjectAdmin"; Filename: "{app}\ePresensiAdmin.exe"; Tasks: desktopicon

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: installmysql; Description: "Install MySQL"; GroupDescription: "Addition Process Installation ( Must be checked ):"; Flags: checkedonce
Name: installodbc; Description:" Install ODBC MySQL"; GroupDescription: "Addition Process Installation ( Must be checked ):"; Flags: checkedonce

[Files]
Source: "D:\ProjectAdmin\ePresensiAdmin.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\skins\*"; DestDir: "{app}\skin"; Flags: ignoreversion
Source: "D:\ProjectAdmin\default_foto1.BMP"; DestDir: "{app}"; Flags: ignoreversion 
Source: "D:\ProjectAdmin\Date and time.ico"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\rtl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\adortl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\bdertl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\CodeSiteExpressPkg160.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\CodeSitePlugIns150.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dbexpress70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dbrtl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dbxcds70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dsnap70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dsnapcon70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dsnapent70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dss70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\frx16.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\frxDB16.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\frxe16.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\fs16.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\fsDB16.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\ibevnt70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\ibxpress70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\inet70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\inetdb70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\inetdbbde70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\inetdbxpress70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\Intraweb_50_70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\IntrawebDB_50_70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\qrpt70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\Rave50CLXBE70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\Rave50VCLBE70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\Rave100VCL160.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\rtl150.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\soaprtl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\tee70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\teedb70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\teeqr70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\teeui70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vcl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vcl150.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vclactnband70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vcldb70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vcldbx70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vclie70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vcljpg70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vclshlctrls70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vclsmp70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\vclx70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\visualclx70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\visualdbclx70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\webdsnap70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\websnap70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\xmlrtl70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\acntD7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\acntD7_R.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\AlphaDB7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\DSPackDesign_D7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dclusr70.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\DirectX9_D7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\DSPack_D7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\ExcelExportPack7.bpl"; DestDir: "{sys}"; Flags: ignoreversion
Source: "D:\ProjectAdmin\dclExcelExportPack7.bpl"; DestDir: "{sys}"; Flags: ignoreversion

               
Source: "D:\ProjectAdmin\XPSilver (internal) extracted.asz"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
                
;daftar file MySQL ODBC 5.1
Source: "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll"; DestDir: {sys}; Flags: onlyifdoesntexist;
Source: "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5S.dll"; DestDir: {sys}; Flags: onlyifdoesntexist;
Source: "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.lib"; DestDir: {sys}; Flags: onlyifdoesntexist;
Source: "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5S.lib"; DestDir: {sys}; Flags: onlyifdoesntexist;
Source: "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc-installer.exe"; DestDir: {sys}; Flags: onlyifdoesntexist;


;daftar file MySQL
Source: "C:\Program Files\MySQL\MySQL Server 5.0\bin\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\bin"; Flags: ignoreversion; Tasks: installmysql

;daftar Database di folder Data.  (folder database surat dan mysql)  ===>> DISESUAIKAN, dalam contoh folder surat adalah nama DATABASE yg dibuat
Source: "C:\Program Files\MySQL\MySQL Server 5.0\data\epresensi\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\data\epresensi"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\data\mysql\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\data\mysql"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\include\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\include"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\lib\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\lib"; Flags: ignoreversion recursesubdirs; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\share\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\share"; Flags: ignoreversion recursesubdirs; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\*"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0"; Flags: ignoreversion; Tasks: installmysql

;=========>> DAFTARKAN LOG FILE, ini juga DISESUAIKAN
Source: "C:\Program Files\MySQL\MySQL Server 5.0\data\ib_logfile0"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\data"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\data\ib_logfile1"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\data"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: "C:\Program Files\MySQL\MySQL Server 5.0\data\ibdata1"; DestDir: "C:\Program Files\MySQL\MySQL Server 5.0\data"; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql

;daftar file ke system32 (file libmysql.dll)
Source: "C:\Program Files\MySQL\MySQL Server 5.0\bin\libmysql.dll"; DestDir: {sys}; Flags: onlyifdoesntexist;
[Ini]
 Filename: C:\Program Files\MySQL\MySQL Server 5.0\my.ini; Section: mysqld; Key: basedir; String: C:\Program Files\MySQL\MySQL Server 5.0
Filename: C:\Program Files\MySQL\MySQL Server 5.0\my.ini; Section: mysqld; Key: datadir; String: C:\Program Files\MySQL\MySQL Server 5.0\data

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

;menginstall driver MySQL Connector ODBC
Filename: "{sys}\myodbc-installer.exe"; Parameters: "-d -a -n ""MySQL ODBC 5.1 Driver"" -t ""DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"""; StatusMsg: "Tunggu sedang menginstall driver MySQL Connector ODBC 5.1.5"; Flags: runhidden
Filename:  "{sys}\myodbc-installer.exe";  Parameters:  "-s -a -c1 -n  ""MyEPresensi"" -t ""DRIVER=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;DATABASE=epresensi;UID=root;PWD=z3les"""; StatusMsg: "Tunggu sedang membuat DSN MyEPresensi"; Flags: runhidden

;================== IKI INSTALL MySQL e ========================================

;=====================  WIN XP ========================================================================================
;KANGGO WINDOWS XP. Install dan langsung start service mySQL nya otomatis  mysqld-nt --standalone MySQL50
Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"; Parameters: "install ""MySQL50"""; StatusMsg: "Tunggu sedang menginstall service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;menginstall service MySQL, perintah di command prompt : mysql --install MySQL ==>> di punya ku, aku kasih nama servicenya MySQL51
Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"; Parameters: "install ""MySQL50"""; StatusMsg: "Tunggu sedang menginstall service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;menjalankan service MySQL, perintah di command prompt : net start MySQL
Filename: {sys}\net.exe; Parameters: "start ""MySQL50"""; StatusMsg: "Tunggu sedang menjalankan service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381

;mendaftarkan port default mysql (3307) ke firewall, perintah di command prompt : netsh.exe firewall add portopening TCP 3307 "Port MySQL" ==>> PORT menyeuaikan, punyaku port 3307
Filename: "{sys}\netsh.exe"; Parameters: "firewall add portopening TCP 3307 ""Port MySQL50"""; StatusMsg: "Tunggu sedang mendaftarkan port MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;Mengaktifkan File and Printer Sharing ...
Filename: "{sys}\netsh.exe"; Parameters: "firewall set service type = fileandprint mode = enable"; StatusMsg: "Tunggu sedang mengaktifkan File and Printer Sharing ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;==================================================================================================================
 ;mengganti password default root (blank), misal saya ganti -> masterkey
;Filename: "{app}\mysql\bin\mysqladmin.exe"; Parameters: "-uroot password masterkey"; StatusMsg: "Mengganti password root"; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;mengganti password default root (blank), misal saya ganti -> root ==>> password MySQL nya yg dirubah bukan password login aplikasi, punyaku tak set passwordnya ROOT
Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin.exe"; Parameters: "-uroot password z3les"; StatusMsg: " Tunggu sedang mengganti password root"; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;set agar user root bisa login dari mesin lain (kalo diperlukan)
;Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"; Parameters: "-uroot -psandy -e ""GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root'"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
;Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"; Parameters: "-uroot -psandy -e ""FLUSH PRIVILEGES"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2


;section [UninstallRun], penjelasannya sama seperti section [Run] hanya dijalankan pada saat uninstall
[UninstallRun]
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
Filename: "{sys}\net.exe"; Parameters: "stop ""MySQL50"""; StatusMsg: "Tunggu sedang menghentikan Service MySQL ..."; Flags: runhidden; MinVersion: 0.0,4.0.1381
Filename: "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe"; Parameters: "remove ""MySQL50"""; StatusMsg: "Tunggu sedang menghapus service MySQL ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2


;untuk section [UninstallDelete], proses Uninstall Aplikasi, apa2 aja yg dihapus
[UninstallDelete]
;daftar file MySQL ODBC 5.1 yang akan dihapus
Type: files; Name: {sys}\myodbc5S.dll
Type: files; Name: {sys}\myodbc5S.lib
Type: files; Name: {sys}\myodbc5.dll
Type: files; Name: {sys}\myodbc5.lib
Type: files; Name: {sys}\myodbc-installer.exe

;daftar file MySQL yang akan dihapus kecuali folder data
Type: files; Name: "C:\Program Files\MySQL\MySQL Server 5.0\bin\*.*"
Type: files; Name: "C:\Program Files\MySQL\MySQL Server 5.0\include\*.*"
Type: files; Name: "C:\Program Files\MySQL\MySQL Server 5.0\lib\*.*"
Type: files; Name: "C:\Program Files\MySQL\MySQL Server 5.0\share\*.*"

; NOTE: Don't use "Flags: ignoreversion" on any shared system files