Selasa, 26 Januari 2010

Contoh Source Code Membuat File Setup Aplikasi DELPHI + MySQL Menggunakan INNO SETUP

[Setup]
AppName=Sistem Pembelian Bahan Baku PT. ALBASI
AppVerName=Sistem Pembelian Bahan Baku PT. ALBASI Versi 1.0.0.50
AppPublisher=K4m4r82's Laboratory
AllowCancelDuringInstall = yes
DefaultDirName={pf}\PT ALBASI
DefaultGroupName=PT ALBASI
Compression = lzma

SolidCompression = yes
OutputBaseFilename=SetupAlbasiServer
AllowNoIcons = yes
AlwaysRestart = no
AlwaysShowComponentsList = no
DisableProgramGroupPage = yes
AppendDefaultDirName = yes
CreateUninstallRegKey = yes
DisableStartupPrompt = yes
LanguageDetectionMethod=none
ShowLanguageDialog=no
Uninstallable = yes
UninstallFilesDir={app}\uninst
UninstallDisplayIcon={app}\Albasi.exe,0
UninstallDisplayName=Sistem Pembelian Bahan Baku PT. ALBASI
WindowVisible = no
AppCopyright=Copyright © 2009. K4m4r82's Laboratory
FlatComponentsList = yes
PrivilegesRequired = admin
VersionInfoVersion=1.0.0.50
SetupIconFile=Setup.ico
WizardImageFile=SetupModern21.bmp
WizardSmallImageFile=SetupModernSmall21.bmp

[Languages]
Name: ina; MessagesFile: compiler:Indonesia.isl
Name: en; 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

[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\stdole2.tlb; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regtypelib
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-5.1.36-win32\bin\*; DestDir: {app}\mysql\bin; Flags: ignoreversion; Tasks: installmysql
Source: mysql-5.1.36-win32\Docs\*; DestDir: {app}\mysql\Docs; Flags: ignoreversion; Tasks: installmysql
Source: mysql-5.1.36-win32\lib\*; DestDir: {app}\mysql\lib; Flags: ignoreversion recursesubdirs; Tasks: installmysql
Source: mysql-5.1.36-win32\share\*; DestDir: {app}\mysql\share; Flags: ignoreversion recursesubdirs; Tasks: installmysql
Source: mysql-5.1.36-win32\data\*; DestDir: {app}\mysql\data; Flags: ignoreversion recursesubdirs uninsneveruninstall; Tasks: installmysql
Source: mysql-5.1.36-win32\*; DestDir: {app}\mysql; Flags: ignoreversion; Tasks: installmysql

;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

;My Application Runtime
Source: main\Albasi.exe.manifest; DestDir: {app}; Flags: ignoreversion
Source: main\Albasi.exe; DestDir: {app}; Flags: ignoreversion
Source: main\albasi.sql; DestDir: {app}\mysql\bin; Flags: ignoreversion
Source: main\exec.cmd; DestDir: {app}\mysql\bin; Flags: ignoreversion

Source: dll&ocx\MSMASK32.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\cTreeOpt6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\Comdlg32.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\vbalDTab6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\MSCOMCT2.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\MyTextBox.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\LVbuttons.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\vbalExpBar6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\MSCOMCTL.OCX; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\vbalIml6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\cPopMenu6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\cNewMenu6.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\scrrun.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\vbalMDITabs6.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\SSubTmr6.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist

Source: dll&ocx\msado21.tlb; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regtypelib

[Icons]
Name: {group}\Sistem Pembelian Bahan Baku PT. ALBASI; Filename: {app}\Albasi.exe; WorkingDir: {app}
Name: {userdesktop}\Sistem Pembelian Bahan Baku PT. ALBASI; Filename: {app}\Albasi.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Sistem Pembelian Bahan Baku PT. ALBASI; Filename: {app}\Albasi.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: "albasi"

[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 albasi"""; 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.1 Driver"" -t ""DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"""; StatusMsg: "Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.1.5"; Flags: runhidden

[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.1 Driver"""; StatusMsg: "Tunggu sedang menghapus driver MySQL Connector ODBC 5.1.5"; 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}\myodbc5.dll
Type: files; Name: {sys}\myodbc5.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\PT ALBASI\SPBB"; ValueName: "installDir"; ValueType: String; ValueData: {app}; Flags: uninsdeletevalue



Sumber :http://coding4ever.wordpress.com/

0 komentar:

Posting Komentar