Home > NSIS, Tools Installer > Membuat paket instalasi vb + mysql dengan NSIS

Membuat paket instalasi vb + mysql dengan NSIS

January 16, 2010

Melengkapi tulisan saya Membuat paket instalasi vb + mysql dengan inno setup kali ini kita akan membuatnya menggunakan NSIS.

NSIS adalah salah satu tool gratis dan open source untuk membuat paket instalasi. Oke sebelum kita melangkah lebih jauh, berikut adalah hal-hal yang perlu kita persiapkan :

  1. NSIS
  2. MySQL versi noninstall disesuaikan dengan versi MySQL yang terinstall di komputer Anda
  3. Connector ODBC yang sudah terinstall biasanya ada di C:\Program Files\MySQL\Connector ODBC 5.1
  4. Database yang sudah di backup/dump
  5. Untuk editor, bagi Anda yang buta warna cukup pake notepad😀, saya sendiri menggunakan notepad++ atau kalo pengen lebih nyaman bisa menggunakan eclipse kemudian download plug-in NSIS

Memang kalo dilihat dari segi skrip,  Inno Setup lebih simple dibandingkan NSIS tetapi setelah saya bandingkan hasil paket instalasi NSIS lebih kecil dibandingkan Inno Setup.

Skrip Inno Setup dan NSIS sama-sama dikelompokkan dalam section-section bedanya kalo Inno Setup untuk nama sectionnya sudah fix (misal Setup, Tasks, Files de el el) sedangkan NSIS untuk nama sectionnya bebas dan tentunya dalam penamaan section di NSIS disesuaikan dengan isinya (misal Install MySQL 5).

Salah satu bagian penting dari skrip NSIS yang kita bahas disini adalah skrip yang digunakan untuk membuat service MySQL, mendaftarkan driver MySQL Connector ODBC dan melakukan proses undump skrip databse (.sql).

Saya ambil contoh untuk membuat service MySQL tentunya dilihat dari versi windows yang terinstall kalo keluarga Win9x jelas tidak bisa karena belum mendukung pembuatan service, oleh karena itu sebelum menjalankan perintah membuat service akan dilakukan pengecekan versi windows terlebih dulu.

Nah disini akan terlihat jelas perbedaan skrip Inno Setup dan NSIS dimana untuk melakukan ini inno setup cukup menambahkan flag MinVersion, misal :

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

Sedangkan untuk NSIS kita perlu mendownload Version plug-in terlebih dulu dan mengekstraknya kemudiakan mengcopykan file version.dll ke folder instalasi NSIS\Plugins, walaupun sebenarnya kita bisa membuat fungsi sendiri di NSIS untuk mengecek versi windows yang terinstall.

Contoh skrip NSIS untuk mengecek versi windows dan menginstall service MySQL :

Section "Install MySQL 5"
	Version::IsWindowsXP

	Pop $0 ;nilai var $0 akan bersisi 1 jika windows XP selain itu 0
	StrCmp $0 "1" ItIsWindowsXP ItIsNotWindowsXP ;StrCmp sama seperti fungsi IIF di VB

	ItIsWindowsXP:
	Goto installservice

	ItIsNotWindowsXP:
	Goto done

	installservice:
		DetailPrint "Sedang menginstall service MySQL ..."
		ExecWait '"$MYSQL_DIR\bin\mysqld.exe" install "MySQL"'

	done:
		;do nothing
SectionEnd

Gimana lumayan beda kan?🙂

Khusus untuk file-file Runtime VB memerlukan penanganan khusus dan untuk memudahkan Anda mencoba sample skrip ini download terlebih dahulu file Runtime VB disini dan jangan lupa diekstrak.

Persiapan terakhir untuk struktur folder saya buat seperti berikut :

Dan saya tidak akan menjelaskan fungsi-fungsi/perintah yang digunakan dalam skrip NSIS karena sudah saya sisipkan komentar di sample skrip instalasi NSIS.

Jika masih kesulitan Anda bisa langsung membaca manual NSIS yang penjelasannya sudah sangat lengkap.

Berikut contoh skrip instalasi lengkap menggunakan NSIS :

;Skrip instalasi by k4m4r82
;https://coding4ever.wordpress.com

!include VB6RunTime.nsh

;deklarasi konstanta
;format pemanggilan ${NAMA_KONSTANTA}
!define APP_NAME "Sistem Pembelian Bahan Baku PT. ALBASI"
!define APP_PUBLISHER "K4m4r82's Laboratory"
!define APP_VERSION "2.0.50"

BrandingText /TRIMCENTER "-- ${APP_PUBLISHER} --"
Name "${APP_NAME} ${APP_VERSION}"
Caption "${APP_NAME} ${APP_VERSION}"

CompletedText "Instalasi sudah selesai"

Icon "setup.ico"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Indonesian.nlf"
OutFile "output\DemoSetupNSIS.exe"
ShowInstDetails show
ShowUninstDetails show
WindowIcon on
XPStyle on

;informasi default folder instalasi
InstallDir "$PROGRAMFILES\SPBB"

;informasi folder instalasi disimpan disini
;informasi ini akan memudahkan kita untuk membuat program update
InstallDirRegKey HKCU "Software\PT ALBASI\SPBB" "InstallDir"

VIAddVersionKey /LANG=${LANG_INDONESIAN} "ProductName" "${APP_NAME}"
VIAddVersionKey /LANG=${LANG_INDONESIAN} "Comments" ""
VIAddVersionKey /LANG=${LANG_INDONESIAN} "CompanyName" "${APP_PUBLISHER}"
VIAddVersionKey /LANG=${LANG_INDONESIAN} "LegalTrademarks" "${APP_NAME} is a trademark of ${APP_PUBLISHER}"
VIAddVersionKey /LANG=${LANG_INDONESIAN} "LegalCopyright" "Copyright © 2009. ${APP_PUBLISHER}"
VIAddVersionKey /LANG=${LANG_INDONESIAN} "FileDescription" "${APP_NAME}"
VIAddVersionKey /LANG=${LANG_INDONESIAN} "FileVersion" "2.0.0.50"
VIProductVersion "2.0.0.50"

RequestExecutionLevel admin

AddBrandingImage left 150|234
Page custom BrandingImage
Page components
Page directory
Page instfiles

UninstPage custom un.BrandingImage
UninstPage uninstConfirm
UninstPage instfiles

;deklarsi variabel
;format pemanggilan $NAMA_VARIABEL ingat ada sedikit perbedaan dg konstanta
Var MainDir
Var MySQLDir
Var AlreadyInstalled

;section yang diawali karakter -, pilihannya tidak ditampilkan
Section "-Inisialisasi Variabel"
    StrCpy $MainDir $INSTDIR
	StrCpy $MySQLDir $MainDir\mysql
SectionEnd

Section "-Visual Basic Runtime"
	;download file Visual Basic Runtime di: http://nsis.sourceforge.net/vb6runtime.zip
	IfFileExists "$MainDir\Albasi.exe" 0 new_installation
		StrCpy $AlreadyInstalled 1

	new_installation:
		!insertmacro VB6RunTimeInstall "dll&ocx\vb6runtime" $AlreadyInstalled
SectionEnd

Section "-My Application Runtime"
	SetOutPath $MainDir
        File "main\Albasi.exe.manifest"
	File "main\Albasi.exe"

	SetOutPath $SYSDIR

	File "dll&ocx\LVbuttons.OCX"
	RegDLL "$SYSDIR\LVbuttons.ocx"

	File "dll&ocx\MSMASK32.OCX"
	RegDLL "$SYSDIR\MSMASK32.ocx"

	File "dll&ocx\cTreeOpt6.ocx"
	RegDLL "$SYSDIR\cTreeOpt6.ocx"

	File "dll&ocx\Comdlg32.ocx"
	RegDLL "$SYSDIR\Comdlg32.ocx"

	File "dll&ocx\vbalDTab6.ocx"
	RegDLL "$SYSDIR\vbalDTab6.ocx"

	File "dll&ocx\vbalExpBar6.ocx"
	RegDLL "$SYSDIR\vbalExpBar6.ocx"

	File "dll&ocx\MSCOMCTL.OCX"
	RegDLL "$SYSDIR\MSCOMCTL.ocx"

	File "dll&ocx\vbalIml6.ocx"
	RegDLL "$SYSDIR\vbalIml6.ocx"

	File "dll&ocx\cPopMenu6.ocx"
	RegDLL "$SYSDIR\cPopMenu6.ocx"

	File "dll&ocx\cNewMenu6.dll"
	RegDLL "$SYSDIR\cNewMenu6.DLL"

	File "dll&ocx\scrrun.dll"
	RegDLL "$SYSDIR\scrrun.DLL"

	File "dll&ocx\vbalMDITabs6.dll"
	RegDLL "$SYSDIR\vbalMDITabs6.DLL"

	File "dll&ocx\SSubTmr6.dll"
	RegDLL "$SYSDIR\SSubTmr6.DLL"

	File "dll&ocx\msado21.tlb"
	RegDLL "$SYSDIR\msado21.tlb"
SectionEnd

; param /e -> expand
SectionGroup /e "Komponen Server"
	Section "Install MySQL 5"
		; param /r -> recursive
		SetOutPath $MySQLDir\bin
		File /r "mysql-5.1.36-win32\bin\*.*"

		SetOutPath $MySQLDir\Docs
		File /r "mysql-5.1.36-win32\Docs\*.*"

		SetOutPath $MySQLDir\lib
		File /r "mysql-5.1.36-win32\lib\*.*"

		SetOutPath $MySQLDir\share
		File /r "mysql-5.1.36-win32\share\*.*"

		SetOutPath $MySQLDir\data
		File /r "mysql-5.1.36-win32\data\*.*"

		SetOutPath $MySQLDir
		File "mysql-5.1.36-win32\*.*"

		;informasi lokasi instalasi mysql
		WriteINIStr $MySQLDir\my.ini "mysqld" "basedir" $MySQLDir
		WriteINIStr $MySQLDir\my.ini "mysqld" "datadir" $MySQLDir\data

		;proses membuat dan menjalankan service mysql, cek versi windows terlebih dulu
		;untuk contoh disini baru di tes untuk windows xp sp2
		Version::IsWindowsXP

		Pop $0 ;nilai var $0 akan bersisi 1 jika windows XP selain itu 0
		StrCmp $0 "1" ItIsWindowsXP ItIsNotWindowsXP ;StrCmp sama seperti fungsi IIF di VB

		ItIsWindowsXP:
		Goto installservice

		ItIsNotWindowsXP:
		Goto done

		installservice:
			DetailPrint "Sedang menginstall service MySQL ..."
			ExecWait '"$MySQLDir\bin\mysqld.exe" install "MySQL"'

			;jalankan service MySQL
			DetailPrint "Sedang menjalankan service MySQL ..."
			ExecWait '"$SYSDIR\net.exe" start "MySQL"'

			;mendaftarkan port default mysql (3306) ke firewall
			DetailPrint "Sedang mendaftarkan port MySQL ..."
			ExecWait '"$SYSDIR\netsh.exe" firewall add portopening TCP 3306 "Port MySQL"'

			;mengganti password default root (blank). ex : masterkey
			DetailPrint "Mengganti password root"
			ExecWait '"$MySQLDir\bin\mysqladmin.exe" -uroot password masterkey'

			;menghapus user default1 (user=blank, password=blank)
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "DELETE FROM mysql.user WHERE Host=$\'localhost$\' AND User=$\'$\'"'
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "FLUSH PRIVILEGES"'

			;menghapus user default2 (user=root, password=blank)
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "DELETE FROM mysql.user WHERE Host=$\'127.0.0.1$\' AND User=$\'root$\'"'
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "FLUSH PRIVILEGES"'

			;set agar user root bisa login dari mesin lain (kalo diperlukan)
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "GRANT ALL PRIVILEGES ON *.* TO root@$\'%$\' IDENTIFIED BY $\'masterkey$\'"'
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "FLUSH PRIVILEGES"'

		done:
			;do nothing
    SectionEnd

	Section "Install MySQL Connector ODBC"
		SetOutPath $SYSDIR

		;dll mysql odbc tidak perlu diregistrasikan
		;jadi otomatis tidak perlu memanggil fungsi RegDLL
		File "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll"
		File "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5S.dll"
		File "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.lib"
		File "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5S.lib"
		File "C:\Program Files\MySQL\Connector ODBC 5.1\myodbc-installer.exe"

		Version::IsWindowsXP

		Pop $0
		StrCmp $0 "1" ItIsWindowsXP ItIsNotWindowsXP

		ItIsWindowsXP:
		Goto installdriverodbc

		ItIsNotWindowsXP:
		Goto done

		installdriverodbc:
			;install driver myodbc
			DetailPrint "Tunggu sedang mendaftarkan driver MySQL Connector ODBC 5.1.5"
			ExecWait '"$SYSDIR\myodbc-installer.exe" -d -a -n "MySQL ODBC 5.1 Driver" -t "DRIVER=myodbc5.dll;SETUP=myodbc5S.dll"'

		done:
			;do nothing
	SectionEnd

	Section "Install Database"
		SetOutPath $MySQLDir\bin

		File "main\albasi.sql"
		File "main\exec.cmd"

		Version::IsWindowsXP

		Pop $0
		StrCmp $0 "1" ItIsWindowsXP ItIsNotWindowsXP

		ItIsWindowsXP:
		Goto installdatabase

		ItIsNotWindowsXP:
		Goto done

		installdatabase:
			;membuat database kosong
			ExecWait '"$MySQLDir\bin\mysql.exe" -uroot -pmasterkey -e "CREATE DATABASE albasi"'

			;menjalankan file batch exec.cmd untuk melakukan proses undump
			ExecWait '"$MySQLDir\bin\exec.cmd"'

		done:
			;do nothing
	SectionEnd
SectionGroupEnd

SectionGroup /e "Buat Shortcut"
	Section "Start Programs"
		SectionIn RO ;RO -> Read Only

		CreateDirectory "$SMPROGRAMS\PT. ALBASI"
		CreateShortCut "$SMPROGRAMS\PT. ALBASI\${APP_NAME}.lnk" "$MainDir\Albasi.exe" "" "$MainDir\Albasi.exe" 0
	SectionEnd

    Section "Desktop"
		;CreateDirectory "$DESKTOP\SPBB"
		CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$MainDir\Albasi.exe" "" "$MainDir\Albasi.exe" 0
	SectionEnd

	Section "Quick Launch"
		;CreateDirectory "$QUICKLAUNCH\SPBB"
		CreateShortCut "$QUICKLAUNCH\${APP_NAME}.lnk" "$MainDir\Albasi.exe" "" "$MainDir\Albasi.exe" 0
	SectionEnd
SectionGroupEnd

Section "-Registry Windows"
	;informasi uninstall
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB" "DisplayName" "${APP_NAME}"
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB" "UninstallString" '"$MainDir\uninstaller.exe"'
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB" "DisplayIcon" '"$MainDir\uninstaller.exe"'

    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB" "NoModify" 1
    WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB" "NoRepair" 1

    WriteUninstaller $MainDir\uninstaller.exe
SectionEnd

Section "-File Konfigurasi Program"
    WriteINIStr $MainDir\infoprogram.ini "Sistem" "serverName" "127.0.0.1"
    WriteINIStr $MainDir\infoprogram.ini "Sistem" "dbName" "albasi"
SectionEnd

Section "Uninstall"
	;stop service MySQL
	DetailPrint "Menghentikan Service MySQL ..."
	ExecWait '"$SYSDIR\net.exe" stop "MySQL"'

	;hapus service MySQL
	DetailPrint "Sedang menghapus service MySQL ..."
	ExecWait '"$MySQLDir\bin\mysqld.exe" remove "MySQL"'

	;driver MySQL Connector ODBC 5.1
	DetailPrint "Tunggu sedang menghapus driver MySQL Connector ODBC 5.1"
	ExecWait '"$SYSDIR\myodbc-installer.exe" -d -r -n "MySQL ODBC 5.1 Driver"'

	; Remove registry keys
	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\SPBB"

	; Remove files and uninstaller
	Delete $MainDir\*.*
	RMDir $MainDir

	; Remove shortcuts
	Delete "$SMPROGRAMS\PT. ALBASI\*.*"
	RMDir "$SMPROGRAMS\PT. ALBASI"

	Delete "$DESKTOP\${APP_NAME}.lnk"
	Delete "$QUICKLAUNCH\${APP_NAME}.lnk"
SectionEnd

;fungsi untuk menampilkan gambar/banner pada saat instalasi
;untuk contoh disini posisi gambar di sebelah kiri
Function BrandingImage
	SetOutPath "$TEMP"

	SetFileAttributes SetupModern21.bmp temporary
	File SetupModern21.bmp
	SetBrandingImage "$TEMP\SetupModern21.bmp" /resizetofit
FunctionEnd

;fungsi untuk menampilkan gambar/banner pada saat uninstall
Function un.BrandingImage
	SetBrandingImage "$TEMP\SetupModern21.bmp" /resizetofit
FunctionEnd

Di dalam skrip instalasi ada file exec.cmd, isinya adalah :

mysql -uroot -pmasterkey albasi < albasi.sql

Isi file exec.cmd sebenarnya untuk proses undump dan ternyata Inno Setup dan NSIS gagal menjalankan perintah tersebut, padahal perintah-perintah yang lainnya sukses.

Contoh hasil instalasi :

Gambar 1

Gambar 2

Gambar 3

Gambar 4

Selamat mencoba🙂

  1. day
    February 2, 2010 at 6:49 am

    terus bagaimana cara undumpnya klo yang exec.cmd gagal…???

  2. February 2, 2010 at 7:24 am

    day :

    terus bagaimana cara undumpnya klo yang exec.cmd gagal…???

    selama ini yg pernah saya coba belum pernah gagal, baik inno setup/nsis selalu berhsil menjalankan file exec.cmd, yang gagal itu kalo langsung menjalankan perintah undump berikut :

    mysql -uroot -pmasterkey albasi > albasi.sql
    

    Kalo installernya dicoba di win9x file exec.cmdnya coba diganti menjadi exec.bat, atau mungkin bisa dirinci lagi penyebab gagalnya apa.
    Skrip installer diatas saya buat dengan asumsi file exec.cmd dan albasi.sql di copykan di folder instalasiMySQL\bin

  3. day
    February 4, 2010 at 5:08 am

    begini mas pada saat exec.cmd run muncul sperti ini pada cmd promt -> C:\Program Files\Rahasiah SIASAT\MySQLServer5.1\bin>mysql -uroot -psis0108 sisru
    m_database 1>sisrum.sql

    dan sisrum.sql menjadi nol isinya
    exec.cmd dan sisrum posisinya ada di bin
    mohon bantuannya??

  4. February 4, 2010 at 8:02 am

    day :

    begini mas pada saat exec.cmd run muncul sperti ini pada cmd promt -> C:\Program Files\Rahasiah SIASAT\MySQLServer5.1\bin>mysql -uroot -psis0108 sisru
    m_database 1>sisrum.sql

    dan sisrum.sql menjadi nol isinya
    exec.cmd dan sisrum posisinya ada di bin
    mohon bantuannya??

    mysql -uroot -psis0108 sisrum_database 1>sisrum.sql
    

    sisrum_database 1 kok ada angka 1?
    trus skrip yg ini, salah ketik :

    mysql -uroot -pmasterkey albasi > albasi.sql
    

    yang benar :

    mysql -uroot -pmasterkey albasi < albasi.sql
    

    pakai tanda < bukan >😆

  5. April 22, 2010 at 1:17 am

    Btw kalo mysqlnya ga pake password gimana? dan saya mau tanya cara bikin file exec.cmdnya gimana ya?

  6. April 22, 2010 at 1:50 am

    meenaa :

    Btw kalo mysqlnya ga pake password gimana?

    Skrip berikut dinonaktifkan/dihapus :

    ExecWait '"$MySQLDir\bin\mysqladmin.exe" -uroot password masterkey'
    

    kemudian untuk skrip berikutnya tinggal hapus parameter -pmasterkey

    meenaa :
    dan saya mau tanya cara bikin file exec.cmdnya gimana ya?

    Gunakan text editor biasa seperti notepad, tapi jangan lupa waktu mau nyimpan pilihan Save as type pilih All Files kemudian nama filenya ditambah ekstensi .cmd

    Selamat mencoba🙂

  7. June 29, 2010 at 2:01 am

    tqs sangat membantu.. biarpun masih binggung..hehehe

  8. June 29, 2010 at 3:49 am

    itank :

    tqs sangat membantu.. biarpun masih binggung..hehehe

    Skrip diatas adalah contoh skrip NSIS yg lengkap, untuk penjelasan lebih rinci langsung merujuk aja ke manualnya.

  9. August 2, 2010 at 11:38 am

    bagaimana jika membuat paket installer dengan vb 6.0 dan database mysql di XAMPP + pake vb mysqldirect yang mas posting artikelnya???
    trus ntar paket intaller tersebut mau di instal di windows vista atau windows seven???

    • August 2, 2010 at 2:26 pm

      Loh kenapa harus pake XAMPP lagi, itu kan namanya bikin report.

      Untuk mysqldirect kan tinggal di include aja librarynya sama seperti library lainnya.

    • August 3, 2010 at 7:00 am

      owh…gtu ya…
      mas kalo kita mu buat installer nya buat windows vista ato 7 gmn????maksudnya ntar aplikasi yang kita buat bakalan di instal di win vista or windows 7 gtu??kasih scriptnya donx???di atas kan cuma ngebahas jika windows XP =1 maka “install service-nya”, tapi kalo bukan maka “done”,nah gimana mas kalo ntar mau di instal di Windows vista or windows 7?

      • August 3, 2010 at 7:55 am

        Kebetulan osnya sy cuma XP, jadi klo mau coba di vista/win 7 pake inno setup aja dan sudah saya bahas di artikel INI.

        Tapi klo masih pengen coba menggunakan NSIS, coba cek referensi INI dan INI.

      • August 5, 2010 at 5:36 am

        thanx’s mas atas pencerahannya….

        hatur nuhun.

        • August 5, 2010 at 5:55 am

          Oke sama2x🙂

  10. andri
    August 3, 2010 at 7:18 am

    mas kalo kita bikin database nya di mysql xampp,dan cara connection ke VB nya pake library vbsqldirect, trus ntar buat instaler nya gimana??? bisakah dengan script NSIS yang mas posting?
    perlu diketahui saya membuat aplikasi tidak memakai ODBC connector mysql, nah yang menjadi pertanyaan inti..
    “Bagamaimana script NSIS untuk aplikasi VB6.0,mysql yang ada pada xampp,tanpa ODBC tapi pake library vbsqldirect??”
    apakah bisa database yang kita buat pada xampp-phpmyadmin dipaketkan pada installer nanti??? dan pembuatan data base kosong di mysql xampp,trus dump isi databasenya sekalian,,di ibaratkan kita sudah men-dump .sql nya dari phpmyadmin??
    tolong bantu mas please….
    makasih sebelumnya….!!!!

  11. andri
    August 3, 2010 at 7:24 am

    oya lupa mas…pertanyaan selanjutnya, berarti nanti pada saat pembuatan installer, saya harus menyisipkan sofware xampp nya juga gak???
    soalnya yang saya tau kan mysql pada XAMPP tuh yang menhadi host servernya Apache???
    termia kasih sekali lagi atas pencerahannya.

    • andri
      August 3, 2010 at 7:25 am

      andri :
      oya lupa mas…pertanyaan selanjutnya, berarti nanti pada saat pembuatan installer, saya harus menyisipkan sofware xampp nya juga gak???
      soalnya yang saya tau kan mysql pada XAMPP tuh yang menjadi host servernya Apache???
      termia kasih sekali lagi atas pencerahannya.

  12. August 3, 2010 at 7:50 am

    Mas Andri udah coba belum skrip yg diatas ? Klo belum dicoba dulu.

    Tujuan mas Andri menggunakan xampp apakah hanya untuk install MySQLnya ?
    Klo iya skrip diatas sudah memenuhi kebutuhkan mas Andri tanpa harus menggunakan xampp

    Untuk library vbsqldirectnya tinggal ditambahkan seperti library2x lainnya.

  13. andri
    August 5, 2010 at 5:41 am

    oya mas makasih….
    ya tadinya saya mu ngeinstall buat mysql-nya…tapi kalo script diatas udah memenuhi,jadi tidak perlu..
    Jadi mas baris conector ODBC ya yang harus saya hapus???
    kan saya sudah pake vbmysqldirect itu kan???
    bener ga y??hehhe
    makasih mas sekali lagi

    • August 5, 2010 at 5:54 am

      Iya mas benar, tinggal ganti aja Section “Install MySQL Connector ODBC” menjadi section “Install VBMySQLDirect”😀

  14. andri
    August 5, 2010 at 7:49 am

    mas apakah ada niat untuk memposting pembahasan aplikasi yang dibuat dengan vb6.0 dan vbmysql direct tidak???
    kebanyakan blog saya cari pake connector ODBC mulu neh………….
    makasih..

  15. August 5, 2010 at 8:33 am

    andri :

    mas apakah ada niat untuk memposting pembahasan aplikasi yang dibuat dengan vb6.0 dan vbmysql direct tidak???

    Klo skrg sih belum ada😀, soalnya dokumentasi dari VBMySQLDirect kan udah lengkap banget plus ada samplenya lagi.

    andri :

    kebanyakan blog saya cari pake connector ODBC mulu neh………….
    makasih..

    Mungkin alasannya sederhana, karena MySQL dan connector ODBC diciptakan oleh vendor yg sama jadi lebih yakin aja kestabilannya😀

    CMIIW

  16. komarudin
    August 21, 2010 at 4:32 pm

    ente memang luar biasa

    • August 22, 2010 at 7:53 am

      Oke om tq udah mampir🙂

  17. September 26, 2010 at 6:51 pm

    Mohon Bantuan nya ,.
    gimana membuat backup mysql dan membuka backup database nya dari aplikasi VB 6
    … sharing ya bro..
    Thank’s

    • September 27, 2010 at 3:00 am

      Tambahkan kode berikut :

      Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
      Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
      Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
      
      Private Const SYNCHRONIZE       As Long = &H100000
      Private Const INFINITE          As Long = &HFFFF
      
      Private Sub execCommand(ByVal cmd As String)
          Dim result  As Long
          Dim lPid    As Long
          Dim lHnd    As Long
          Dim lRet    As Long
      
          cmd = "cmd /c " & cmd
          result = Shell(cmd, vbHide)
      
          lPid = result
          If lPid <> 0 Then
              lHnd = OpenProcess(SYNCHRONIZE, 0, lPid)
              If lHnd <> 0 Then
                  lRet = WaitForSingleObject(lHnd, INFINITE)
                  CloseHandle (lHnd)
              End If
          End If
      End Sub
      

      Selanjutnya tinggal memanfaatkan tools bawaan MySQL yaitu mysqldump (untuk backup) dan mysql (untuk restore). Contoh :

      Private Sub cmdBackup_Click()
          Dim cmd As String
          
          Screen.MousePointer = vbHourglass
          DoEvents
          
          cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" & Chr(34) & " -uroot -prahasia --routines --comments nama_database > c:\nama_database.sql"
          Call execCommand(cmd)
          
          Screen.MousePointer = vbDefault
          MsgBox "done"
      End Sub
      
      Private Sub cmdRestore_Click()
          Dim cmd As String
          
          Screen.MousePointer = vbHourglass
          DoEvents
          
          cmd = Chr(34) & "C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql" & Chr(34) & " -uroot -prahasia --comments nama_database < c:\nama_database.sql"
          Call execCommand(cmd)
          
          Screen.MousePointer = vbDefault
          MsgBox "done"
      End Sub
      

      Contoh sourcecode diatas saya menggunakan user root dengan password rahasia dan hasil backup disimpan di drive c:\

      Selamat mencoba🙂

      • mun4war
        July 20, 2012 at 12:39 am

        Saya sudah mencoba pak admin sudah berhasil backup dan restore nya, tapi disertakan stuktur tabel lengkap…. bagaimana jika saya kepingin yang di backup cuma data saja tampa struktur tabel, begitu juga pada waktu proses restore data… hanya data saja yang direstore tampa struktur tabel

        • July 21, 2012 at 12:30 pm

          Untuk mengekstrak datanya saja gunakan perintah berikut :

          mysqldump --no-create-db --no-create-info 
          
          • mun4war
            July 25, 2012 at 1:34 pm

            Terima Kasih Om Admin, sudah bisa tampa disertakan tabel, namun saya kepingin backup data tampa disertakan store procedure dan trigger… gimana ya pak admin…. terima kasih sebelumnya…

            • July 25, 2012 at 4:22 pm

              Setau sy mysqldump secara default tidak mengikut sertakan store procedure dan function, klo untuk trigger mungkin bisa ditambahkan parameter berikut :

              --skip-triggers
              
      • adit
        August 24, 2012 at 6:31 am

        salam kenal mas..mas saya mencoba nya kok hasil backupnya kosong ya? ini syntax nya :

        Dim cmd As String

        Screen.MousePointer = vbHourglass
        DoEvents
        cmd = Chr(34) & “C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump” & Chr(34) & ” -uroot -proot –routines –comments beel > c:\beel.sql”
        Call execCommand(cmd)

        Screen.MousePointer = vbDefault
        MsgBox “done”

        thanks…

  18. November 3, 2010 at 6:00 am

    mas, mnta filenya dunk, karena saya dah cba beberapa kali, masih belum succes jah, kirim k email (ari1375@yahoo.com), maksi mas,

    • November 3, 2010 at 6:23 am

      Yah sama aja, skrip diatas kan sy copas dari skrip aslinya, seharusnya kan mas yg ngirim sample skripnya yg error trus dikasih komentar.

  19. edo
    December 9, 2010 at 12:23 pm

    Salam kenal dulu mas admin.
    saya salut ama situs mas, sangat detail. jadi yang otodidak seperti saya bisa agak nyambung gitu. Lanjutkan mas, pahalanya gede loh!

    • December 10, 2010 at 12:36 am

      Salam kenal juga om🙂
      Aminnnn

  20. December 14, 2010 at 4:40 am

    ane saat ini masih pake INNO gan, coz menurut ane bahasanya “lebih manusiawai”, tapi kayaknya NSIS lebih banyak fitur plus dokumentasinya, jadi klo bisa tolong banyakain tutor NSIS ya…

    • December 14, 2010 at 5:35 am

      Klo fitur atw dokumentasi kayaxnya sama aja om, nah klo hasil setupnya lebih unggul NSIS lebih kecil.

  21. tri
    February 7, 2011 at 9:23 am

    Salam
    mohon bantuannya jika saya ingin membuat instalasi dimana instalasi tersebut sudah mencakup
    1. instalasi programnya
    2. instalasi SQLExpress2005
    3. Attact databasenya
    4. instalasi ODBC untuk koneksi ke database

    semua proses diatas tanpa campur tangan user
    Sehingga user tinggal mengklik file instalasi.exe maka 4 langkah diatas sudah dikerjakan oleh sistem

    Terima kasih atas pencerahannya
    Tri

    • February 7, 2011 at 10:06 am

      wedewww ini butuh riset 1 mingguan om😀
      sebenarnya sy sudah lama ingin membuat postingan masalah ini tapi skrg jadwal coding terlalu padat jadi AF1 belum bisa bantu🙂

      • February 8, 2011 at 4:12 am

        untuk Ms. SQLServer saya udah pernah nyobain pake NSIS dan INNO, ternyata lebih sulit dibanding membuat instalasi dengan MySQL, sampai sekarang belum ketemu “celahnya”…😀

        • tri
          February 8, 2011 at 4:45 am

          terima kasih atas masukkannya

          saya sudah coba untuk menjalankan Framework 2 dan SQLExpress2005 dengan cara menjalankan dari [run] {saya pakai INNO)
          dan alhamdulillah berhasil
          tinggal masalah attach database dan mengecek jika ternyata di komp client sudah terinstall SQLExpress.

          ada saran ? terima kasih

          • February 8, 2011 at 5:05 am

            wah om tri minta donk kombinasi parameter untuk running file SQLExpress2005 nya🙂

          • February 8, 2011 at 6:43 am
            • tri
              March 19, 2011 at 3:58 am

              maaf baru sempat balas

              ini cuplikan untuk install SQl200 Express secara silent

              [Run]
              Filename: “{tmp}\WindowsXP-KB942288-v3-x86.exe”; Parameters:”/q”; Description: “{cm:LaunchProgram,My Program}”;StatusMsg: Install Windows Installer 4.5 ; Flags: waituntilterminated
              Filename: “{tmp}\NetFx20SP2_x86.exe”; Parameters:”/q”; Description: “{cm:LaunchProgram,My Program}”;StatusMsg: Install Net Framework 2.0 ; Flags: waituntilterminated
              Filename: “{tmp}\SqlExpress08.exe”; StatusMsg: Install database SQL express 2008 ; Parameters:/CONFIGURATIONFILE={tmp}\settingboss.ini /hideconsole ; Flags: waituntilterminated

              • March 19, 2011 at 9:22 am

                Tq om atas infonya🙂

        • February 8, 2011 at 5:03 am

          klo sy udah ketemu “celahnya” om cuma belum sempat explorasi lebih lanjut😀

          • February 8, 2011 at 8:42 am

            Tq om infonya

  22. catur sigit
    March 19, 2011 at 1:16 am

    Lam kenal mas, saya mau tanya karena sekarang lagi belajar. itu versi nysql non install maksudnya versi yang belum diinstal atau gimana?. saya udah coba tapi masih blm berhasil juga. makasih

    • March 19, 2011 at 1:38 am

      MySQL non-install ya versi non Installer jadi formatnya pun berupa file arsip/compress, biasanya kita pake jika ingin menginstall mysql secara manual.

      Klo yg versi installerkan kita tinggal mengikuti petunjuk yg ada di wizard pd saat instalasi.

      Klo masih kesulitan coba artikel yg ini dulu.

  23. agenda
    April 21, 2011 at 5:23 am

    kalo buat delphi mysql aplikasi ini bisa ga ya… kalo bisa caranya sama atau tidak???? thx

    • April 21, 2011 at 5:32 am

      Klo untuk mysqlnya sama aja om

  24. agenda
    April 21, 2011 at 5:44 am

    untuk aplikasi delphinya sendiri gmn donk……

    • April 21, 2011 at 6:02 am

      Ya tinggal ikutsertakan aja library (klo di vb file ocx/dll plus aplikasi exenya) yang dibutuhkan klo membuat programnya pake delphi.

  25. manggar
    June 11, 2011 at 2:02 am

    lam kenal mas atrtikelnya jos….

    • June 11, 2011 at 11:04 am

      lam kenal juga, tq om udah mampir🙂

  26. June 17, 2011 at 6:59 am

    terimakasih gan informasinya. saya belum bisa bertanya . ini saya masih mau coba . heheh………
    sekali lagi terimakasih.🙂

    • June 17, 2011 at 11:47 pm

      Oke om sama2x🙂

  27. February 29, 2012 at 10:48 pm

    om terimakasih ya…, sy ikut belajar disini🙂

    • March 1, 2012 at 7:51 am

      Oke om silahkan🙂

  28. ino
    May 7, 2012 at 12:01 pm

    om kenapa kalo buat file setup dengan inno setup atau instal creator dan NSIS data dalam crystal report kosong. tolong bantuanya

    • May 7, 2012 at 12:51 pm

      Emg harusnya isinya apa om ? Soalnya sy enggak pernah pake Crystal Report

  29. tjatoer
    May 9, 2012 at 6:10 am

    Mas… salam kenal, apa punya file vb6runtime.zip yang lain? Karena di link ini : nsis.sourceforge.net/vb6runtime.zip file tsb setelah saya DL sukses, tetapi pas saya ekstrak error…

    • May 10, 2012 at 8:54 am

      Download ulang aja om, udah sy coba hasil ekstrak suskes

  30. November 23, 2012 at 3:26 pm

    gan klo pake windows 7 nama iswindows-nya apa gan ???

  31. Tommy
    October 6, 2013 at 6:29 pm

    gan,, ada gak srip seperti di atas untuk aplikasi yang digunakan itu delphi,, jikalau ada tlg donk..

    • October 7, 2013 at 8:51 am

      NSIS itukan digunakan untuk membuat paket instalasi jadi enggak terikat dengan salah satu bahasa pemrograman, yg penting om tau semua file (exe, library, report) yg dibutuhkan oleh aplikasi om, nah berhubung sy bukan programmer delphi ya kurang tau juga sih file2x yg dibutuhkan apa aja.

  32. April 11, 2014 at 9:56 am

    Reblogged this on Programmer WannaBe.

  1. No trackbacks yet.
Comments are closed.
%d bloggers like this: