Home > Inno Setup, Tools Installer > Membuat paket instalasi vb + firebird dengan inno setup

Membuat paket instalasi vb + firebird dengan inno setup

January 5, 2010

Menyambung postingan saya sebelumnya Membuat paket instalasi vb + mysql dengan inno setup kali ini database yang kita paketkan adalah Firebird. Adapun hal-hal yang perlu dipersiapkan :

  1. File Setup Firebird (saat postingan ini dibuat versi Firebird-2.1.3.18185_0_Win32)
  2. File OdbcFb32.dll hasil dari instalasi Firebird ODBC yang ada di c:\windows\system32
  3. Inno Setup

Karena semua persiapan sudah oke, berikut skrip instalasinya :

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

[Setup]
AppName=Retail Manager Pro
AppVerName=Retail Manager Pro Versi 1.0.0.50
AppPublisher=K4m4r82's Laboratory
AllowCancelDuringInstall = yes
DefaultDirName={pf}\RetailManagerPro
DefaultGroupName=Retail Manager Pro
Compression = lzma
SolidCompression = yes
OutputBaseFilename=SetupRetailManagerPro
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}\RetailManager.exe,0
UninstallDisplayName=Retail Manager Pro
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

[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

;file hasil instalasi firebird odbc
Source: C:\WINDOWS\system32\OdbcFb32.dll; DestDir: {sys}; Flags: restartreplace sharedfile regserver onlyifdoesntexist

;file installer database firebird sesuaikan dengan versi yang Anda download
Source: main\Firebird-2.1.3.18185_0_Win32.exe; DestDir: "{tmp}"; Flags: deleteafterinstall

;My Application Runtime
Source: main\RetailManager.exe; DestDir: {app}; Flags: ignoreversion
Source: main\RetailManager.pdf; DestDir: {app}; Flags: ignoreversion
Source: main\RETAIL_MANAGER.FDB; DestDir: {app}\Db; Flags: onlyifdoesntexist
Source: main\RetailManager.exe.manifest; DestDir: {app}; Flags: ignoreversion

Source: dll&ocx\cTreeOpt6.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\vbalDTab6.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\LVbuttons.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\MyTextBox.ocx; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\MSCOMCT2.OCX; 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\scrrun.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\cNewMenu6.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
Source: dll&ocx\msado21.tlb; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regtypelib

[Icons]
Name: {group}\Retail Manager Pro; Filename: {app}\RetailManager.exe; WorkingDir: {app}
Name: {group}\Retail Manager Pro User Manual; Filename: {app}\RetailManager.pdf; WorkingDir: {app}

Name: {userdesktop}\Retail Manager Pro; Filename: {app}\RetailManager.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Retail Manager Pro; Filename: {app}\RetailManager.exe; WorkingDir: {app}; Tasks: quicklaunchicon

[Registry]
;mencatat lokasi instalasi program, ini dibutuhkan jika kita ingin membuat paket instalasi update
Root: HKCU; Subkey: "Software\K4m4r82`s Laboratory\RetailManager"; ValueName: "installDir"; ValueType: String; ValueData: {app}; Flags: uninsdeletevalue

[INI]
Filename: "{app}\infoProgram.ini"; Section: "Sistem"; Key: "serverName"; String: "127.0.0.1"
Filename: "{app}\infoProgram.ini"; Section: "Sistem"; Key: "dbPath"; String: "{app}\Db"

[Run]
;install firebird
Filename: "{tmp}\Firebird-2.1.3.18185_0_Win32.exe"; Parameters: "/SP- /NORESTART /NOCPL /NOICONS /SILENT /FORCE /COMPONENTS=""servercomponent\superservercomponent, SuperServerComponent, ServerComponent, ClientComponent, DevAdminComponent"""; StatusMsg: "Instalasi Firebird 2.0 Server..."

;daftarkan port firebird (3050) ke windows firewall
Filename: "{sys}\netsh.exe"; Parameters: "firewall add portopening TCP 3050 ""Service Firebird Server"""; StatusMsg: "Mendaftarkan port Service Firebird ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2
Filename: "{sys}\netsh.exe"; Parameters: "firewall add allowedprogram ""{pf}\Firebird\Firebird_2_0\bin\fbserver.exe"" ""Firebird Server"" ENABLE ALL"; StatusMsg: "Mendaftarkan Firebird Server ..."; Flags: runhidden; MinVersion: 0,5.01.2600sp2

;menjalankan service firebird
Filename: "{pf}\Firebird\Firebird_2_0\bin\fbserver.exe"; Parameters: "-a"; StatusMsg: "Menjalankan service firebird"; Flags: waituntilidle

[UninstallRun]
Filename: "{sys}\netsh.exe"; Parameters: "firewall delete portopening protocol = TCP port = 3050"; Flags: runhidden; MinVersion: 0,5.01.2600sp2
Filename: "{sys}\netsh.exe"; Parameters: "firewall delete allowedprogram ""{pf}\Firebird\Firebird_2_0\bin\fbserver.exe"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

Selamat mencoba 🙂

  1. Agung Stiawan
    June 5, 2010 at 1:51 pm

    Pak admin, tolong batuin ya.. Saya sudah coba panduan membuat instalasi Firebird dan VB dengan InoSetup. Tapi waktu saya coba menginstal program saya ke komputer, bisanya ada yang berjalan lancar dan ada juga di komputer lain yang pada waktu ditengah proses instalasi muncul pesan Error Cannot Register dll bawaan vb atau yg ada dalam installer. Tapi setelah proses instalasi, Program bisa jalan seperti yang saya mau. yang mau saya tanyakan:
    1. eror tersebut terjadi karena apa?
    2. Waktu program yang saya jalan kan setelah saya tutup biasa muncul error juga yang intinya mengarah ke file MSVBVM60.DLL, itu kenapa ya pak?

  2. June 6, 2010 at 7:03 am

    Agung Stiawan :
    1. eror tersebut terjadi karena apa?

    1. Biasanya ada beberapa file dll yang cukup dicopykan saja, jadi tidak perlu menambahkan flag regserver.
    Untuk mengetesnya Anda bisa mengetikkan perintah regsvr32 dari start -> run, jika error berarti hilangkan saja flag regserver pada skrip inno setupnya.
    2. Error juga bisa terjadi jika file dll/ocx yg mau diregistrasikan membutuhkan file library lain yang kebetulan tidak ditemukan/kelupaan menambahkan pada paket instalasinya.

    Agung Stiawan :
    2. Waktu program yang saya jalan kan setelah saya tutup biasa muncul error juga yang intinya mengarah ke file MSVBVM60.DLL, itu kenapa ya pak?

    Pesan errornya terlalu global, sy belum punya gambaran.
    Karena memang banyak kasus error yang berbeda dan mengacu ke file MSVBVM60.DLL

  3. Agung Stiawan
    June 6, 2010 at 4:11 pm

    Sip Pak, jawabannya oke banget. Singkat Padat dan Jelas, sepertinya saya harus banyak belajar nih dari bapak. 😀

  4. June 7, 2010 at 1:14 am

    Agung Stiawan :

    Sip Pak, jawabannya oke banget. Singkat Padat dan Jelas, sepertinya saya harus banyak belajar nih dari bapak. :D

    Mungkin lebih tepatnya share kali

  5. saskia_paramitha
    June 18, 2010 at 12:22 pm

    pak admin saya mau tanya gimana caranya membuat DSN firebird melalui koding visual basic 6
    atas penjelsan bapak saya ucapkan terima kasih… ?

  6. June 19, 2010 at 1:19 am

    saskia_paramitha :

    pak admin saya mau tanya gimana caranya membuat DSN firebird melalui koding visual basic 6
    atas penjelsan bapak saya ucapkan terima kasih… ?

    Waww klo saya copas disini codingnya lumayan panjang, jadi saya kasih petunjuk aja ya? 😀

    1. Untuk membuat DSN secara manual kita harus melakukan sedikit modifikasi terhadap file ODBC.INI yang ada di folder windows dan beberapa lokasi di windows registry

    2. Untuk file ODBC.INI informasi yang harus ditambahkan adalah sebagai berikut :

    [ODBC 32 bit Data Sources]
    fb-odbc=Firebird/InterBase(r) driver (32 bit)
    
    [fb-odbc]
    Driver32=C:\WINDOWS\system32\OdbcFb32.dll
    

    Informasi diatas dengan asumsi nama DSNnya adalah fb-odbc

    3. Untuk registry windows informasi yang harus ditambahkan adalah sebagai berikut :

    [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
    "fb-odbc"="Firebird/InterBase(r) driver"
    
    [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\fb-odbc]
    "Driver"="C:\WINDOWS\system32\OdbcFb32.dll"
    "Description"=""
    "Dbname"="LOKASI_DATABASE\NAMA_DATABASE.FDB"
    "Client"=""
    "User"="USER_FIREBIRD"
    "Role"=""
    "CharacterSet"="NONE"
    "JdbcDriver"="IscDbc"
    "ReadOnly"="N"
    "NoWait"="N"
    "LockTimeoutWaitTransactions"=""
    "Dialect"="3"
    "QuotedIdentifier"="Y"
    "SensitiveIdentifier"="N"
    "AutoQuotedIdentifier"="N"
    "UseSchemaIdentifier"="0"
    "SafeThread"="Y"
    "Password"="PASSWORD_FIREBIRD"
    

    4. Artikel yang membahas cara penggunaan file dengan format INI bisa dilihat di SINI

    5. Untuk menambahkan informasi (String Value) di windows registry fungsi API yang digunakan yaitu RegCreateKey, RegSetValueEx, RegCloseKey dan 1 konstanta pendukung HKEY_CURRENT_USER

    Silahkan dicoba dulu, klo ada kesulitan baru laporan kesini lagi 😀

  7. saskia_paramitha
    June 23, 2010 at 2:23 pm

    Iya Mas K4m4r mitha coba dulu dech,,, oy kok mitha kesulitan mitha tanya lagi dech…. mas punya tutorial firebird yang bahasa indon ngak, kalo ada share lah di website ini, saya suka banget liat artikel website ini……….

  8. Ipung
    July 22, 2010 at 12:35 am

    selamat pagi pak.. mau tanya untuk firebird di netbook (pakai win 7) saya apa bisa di install ulang pakai ver 2.1.3.18185 win 32.
    kalau tidak bisa saya harus menggunakan ver yang mana?
    thks.

    • July 22, 2010 at 1:02 am

      Setau saya Firebird versi 2.1.3.18185 sudah support Windows 7 karena yg versi 2.0 aja udah pernah sy install di windows 7 dan berjalan normal.

  9. saskia_paramitha
    July 22, 2010 at 8:53 am

    pak K4m4r mitha dah download contoh yang pak K4m4r kasi di web ini, untuk akses store prosedur mitha uda bisa, tapi pas mitha modif dikit aja mau nyimpan, edit , hapus dan cari mitha ngak bisa insert…… datanya, apa koding mitha yang salah…. mas kalo ngak keberatan share dikit simpan edit, hapus dan cari kepada mitha yang newbi vb ini…. ini link yang mitha modif http://www.ziddu.com/download/10828493/AksesSPdanViewdariFirebirdModif.rar.html
    Moga mas K4m4r kalo misal pak k4m4r ngak keberatan kirim ke email mitha : saskia_paramitha@yahoo.com, tolong mitha ya pak…

    • July 22, 2010 at 9:04 am

      Oke insya Allah sy bantu klo bisa 😀

  10. July 25, 2010 at 1:37 pm

    dear admin, mas newbie juga neeh aku bikin vb dengan acces db plus CR7 untuk dbnya :

    Source: main\DB.mdb; DestDir: {app}; Flags: ignoreversion

    gitu ajah bisa kah, atao perlu scrip laen lagi,

    makasih

    • July 25, 2010 at 2:13 pm

      Gitu aja udah cukup, tapi hati2x loh klo programnya diinstall ulang bakalan keReplace tuh databasenya, jadi klo untuk database lebih aman menggunakan flag onlyifdoesntexist, flag ignoreversion biasanya digunakan untuk file2 bertipe executable atw file2x yg klo keReplace enggak pa2x 😀

  11. December 11, 2010 at 8:27 pm

    Mas klo untuk paket instalasi vb.net 2008 + SQL Sever 2005 ada nggk?

    • December 12, 2010 at 1:51 pm

      Enggak ada om 😦

  12. himlan
    February 19, 2011 at 1:31 am

    Om Admin, klo mo buat paket installasi di inno setup yang ada option pilihan paket gimana? contohnya ada 2 pilihan : install u client, install u server.

    thx u

    • February 19, 2011 at 4:21 am

      Tinggal memanfaatkan section Types dan Components aja om, contoh :

      [Types]
      Name: "klien"; Description: "Install Aplikasi Klien"
      Name: "server"; Description: "Install Aplikasi Server"
      
      [Components]
      Name: "klien"; Description: "Install Aplikasi Klien"; Types: klien; Flags: fixed
      Name: "server"; Description: "Install Aplikasi Server"; Types: server; Flags: fixed
      

      Selanjutnya di section Files, tinggal tentukan file2x terkena pengaruh komponennya, contoh :

      ;daftar file yg tidak terpengaruh pemilihan komponen, tidak perlu menyebutkan nama komponennya
      Source: SSubTmr6.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      Source: scrrun.dll; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regserver onlyifdoesntexist
      Source: msado21.tlb; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regtypelib
      
      ;daftar file yg terpengaruh pemilihan komponen, perlu menyebutkan nama komponennya
      Source: AplikasiKLien.exe; DestDir: {app}; Flags: ignoreversion; Components: klien
      Source: AplikasiServer.exe; DestDir: {app}; Flags: ignoreversion; Components: server
      

      Untuk hasilnya lihat GAMBAR

      Informasi lebih lanjut bisa langsung meluncur kesini dan sini.

      Selamat mencoba 🙂

      • himlan
        February 19, 2011 at 2:08 pm

        thx u bos, jawaban dan responnya…

        • February 20, 2011 at 2:52 am

          Sama2x om

  13. risman
    May 19, 2011 at 9:44 am

    kk admin, saya tidak mengerti sama sekali >,>saya harus mulai dari mana?
    2. listing yg kk kasih d taruh dlm form VB? atau buat fille txt baru? atau di kemanakan? T_T
    3. mohon pencerahannya step by step mulai dari selesai mendownload..

    terimakasih buat artikelnya kk, sangat menarik ^^
    dan kagum juga buat respodnya dari setiap pertanyaan.. heheheee

    • May 19, 2011 at 10:37 am

      1. Install dulu Inno Setup
      2. Inno setup belum bisa otomatis mendeteksi file library (ocx, dll) jadi jalan dulu tools Package & Deployment Wizard
      3. Dari hasil langkah ke dua akan dibuatkan folder “Package” di dalamnya ada sub folder “support” cari file setup.lst, file ini dibutuhkan pd langkah ke empat.
      4. Install ISTool, program ini mempunyai fitur untuk mengkonversi file setup.lst ke script inno setup
      5. Klo langkah 4 sukses, berarti om sudah berhasil membuat skrip inno setup selanjutnya tinggal pelajari skrip2x inno setup yg ada disini dan dokumentasi resmi inno setup disini.

      Selamat mencoba 🙂

      • risman
        May 19, 2011 at 2:40 pm

        sudah bisa jalan kk 🙂 terimakasih..
        smoga dibalas 10x lipatnya ^^

        • May 21, 2011 at 1:57 am

          Oke om sama2x 🙂

  14. Reny
    September 14, 2011 at 11:04 pm

    Pak admin, ada gak tutorial membuat setup databse PostgreSQL + VB pake Inno setup ? soalnya masih bingung file -file apa aja yang harus di bawa untuk database PostgreSQL, makasih atas responya ….

  15. Sefta
    September 17, 2011 at 6:14 am

    Untuk user dan password firebird bisa di rubah gak ? kalau setandar kan user = SYSDBA password = masterkey, kalau di instalkan default user dan password seperti itu, kalau kita mau menentukan user dan password sendiri di aplikasi kita misal password kita ganti jadi = 123456 itu setting di inno setup di sebelah mana pak admin. Jadi waktu jalanin aplikasi vb yang kita install pake inno aplikasi kita udah tau password dari firebird tersebut, makasih

    • September 17, 2011 at 6:33 am

      Bisa om, ngerubahnya pake tool GSEC, contoh :

      [Run]
      Filename: "{pf}\Firebird\Firebird_2_0\bin\gsec.exe"; Parameters: "-user SYSDBA -password masterkey -modify SYSDBA -pw ""PASSWORD_YANG_BARU"""; Flags: runhidden; StatusMsg: "Sedang mengganti password database..."
      
      • Sefta
        September 17, 2011 at 6:50 am

        Makasih pak admin

        • September 17, 2011 at 7:39 am

          Sama-sama om

  16. Nano
    March 12, 2012 at 8:36 am

    Pak kalau di win 7 control panel, isntall firebird bisa bikin crash, sy temukan cara yaitu hapus file C:\Windows\System32\Firebird2Control.cpl atau rename menjadi C:\Windows\System32\FireBird2Control.cpl.bak atau cara lain saat install “install CONTROL pANEL APPLET ?” tidak di centrang, nah kalau pake inno setup agar “install CONTROL pANEL APPLET ?” tidak di centrang caranya gimana ya ? please help me …. soalnya crash kalau di win 7

    • March 12, 2012 at 3:48 pm

      Bikin crash g mana om ? Firebird Control terinstall dg baik, sy udah coba di win 7 32/64 bit normal.

  17. nano
    March 14, 2012 at 12:44 pm

    ini pak link pernyataan dari yang punya http://www.firebirdfaq.org/faq360/

    • March 14, 2012 at 1:24 pm

      Tapi kok ditempat sy kok normal om ya ?

      Cek gambar.

      Tapi klo menon aktifkan instalasi control panelnya tinggal tambahkan parameter /NOCPL

      [Run]
      Filename: "{tmp}\FireBird2.exe"; Parameters: "/SP- /NORESTART /NOCPL /NOICONS /SILENT /FORCE /COMPONENTS=""servercomponent\superservercomponent, SuperServerComponent, ServerComponent, ClientComponent, DevAdminComponent"""; StatusMsg: "Instalasi Firebird 2.0 Server..."; Tasks: firebird
      
  18. fariz
    June 7, 2012 at 6:23 am

    Pak kalau matiin service firebird caranya gimana pada waktu uninstall, soalnya sewaktu uninstall firebird yang kita install gak bisa hilang atau ke unisntall karena service masih hidup. saya pake firebird 2.5, makasih pak atas responya

    • June 7, 2012 at 12:34 pm

      Coba skrip berikut ditambahkan di section UninstallRun

      Filename: "{sys}\netsh.exe"; Parameters: "stop FirebirdGuardianDefaultInstance"; StatusMsg: "Menonaktifkan service firebird"; Flags: waituntilidle
      
  19. sahuri
    July 14, 2012 at 4:46 pm

    Pak admin kalau di sisi client, untuk firebird field-field apa aja yang dibawa, atau install juga firebirdnya, jadi di server di install firebird dan di client juga di install juga. Makasih atas responnya …

    • July 15, 2012 at 1:48 pm

      Klo di client enggak perlu install firebird om, utk mengakses database firebird dari komputer klien cukup ditambahkan file2x berikut :
      1. msvcr71.dll
      2. OdbcFb32.dll
      3. gds32.dll

  20. arulamd
    July 26, 2012 at 9:33 am

    bos , klo cara instal nama database nya ama isi nya, serta DSN.ODBC nya gimana diatas, ga dikasih ketrangan cara instal masukin nama database nya ama DSN nya

    • July 26, 2012 at 9:53 am

      Udah jelas kok sample skrip inno di atas diatas, om aja yg kurang teliti membacanya.
      1. Penentuan file database (.FDB) ada di baris 63
      2. Install firebird dan driver odbcnya ada dibaris 54-58, 96-105
      3. Membuat DSN sudah ada yg nanya di komentar #6

      • arulamd
        July 26, 2012 at 1:25 pm

        BOS klo di mysql kan kaya gini buat DSN nya kaya Gini
        [run]
        Filename: “{sys}\myodbc-installer.exe”; Parameters: “-s -a -c1 -n “”DSN-AAS”” -t “”DRIVER=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;DATABASE=AAS;UID=root;PWD=masterkey”””; StatusMsg: “Tunggu sedang membuat DSN-AAS”; Flags: runhidden, klo yg diatas yg mana nya bos..?

        • July 26, 2012 at 2:28 pm

          Nah yg jadi pertanyaannya bukankah untuk koneksi ke Firebird bisa langsung tanpa harus melalui dsn ? Ini kan namanya bikin ribet sendiri om ?

          Jadi sy butuh alasan yg kuat baru sy bantu buat skripnya :D, karena sy sendiri untuk koneksi ke firebird enggak pernah pake dsn.

          • arulamd
            July 26, 2012 at 3:06 pm

            bos anekan pake powerbuilder 11.5, untuk powerbuilder sendiri tidak ada koneksi langsung ke firebird harus menggunakan DSN atau ODBC, sama dengan MYsql.untuk koneksi lansung di powerbuilder hanya ada sql server, oracle.terima kasih

            • July 26, 2012 at 5:09 pm

              O gt toh ceritanya, coba tambahkan skrip berikut di section Code

              [Code]
              var
                 INIInputPage: TInputQueryWizardPage;
              
              procedure InitializeWizard();
              begin
                // Form Input
                INIInputPage := CreateInputQueryPage(wpInfoAfter, 'Konfigurasi', 'Konfigurasi Program.',
                                                     'Isikan konfigurasi program ke dalam form di bawah ini.');
              
                INIInputPage.Add('Nama DSN', False);
                INIInputPage.Add('IP Server', False);
                INIInputPage.Add('Lokasi dan Nama Database', False);
              
                INIInputPage.Values[0] := GetPreviousData('nama_dsn', '');
                INIInputPage.Values[1] := GetPreviousData('ip_server', '');
                INIInputPage.Values[2] := GetPreviousData('lokasi_db', '');
              end;
              
              // prosedur ketika user mengklik tombol kembali, setelah pengisian form
              procedure RegisterPreviousData(PreviousDataKey: Integer);
              begin
                // tampilkan nilai sebelumnya yang sudah diinputkan user
                SetPreviousData(PreviousDataKey, 'nama_dsn', INIInputPage.Values[0]);
                SetPreviousData(PreviousDataKey, 'ip_server', INIInputPage.Values[1]);
                SetPreviousData(PreviousDataKey, 'lokasi_db', INIInputPage.Values[2]);
              end;
              
              // prosedur ketika user mengklik tombol lanjut, setelah pengisian form
              function NextButtonClick(CurPageID: Integer): Boolean;
              var
                namaDsn : string;
                ipServer : string;
                lokasiDb : string;
                
              begin
                Result := True;
                if CurPageID = INIInputPage.ID then begin
                  // validasi input, untuk contoh disini saya validasi semua inputan harus diisi
                  if (Trim(INIInputPage.Values[0]) = '') or (Trim(INIInputPage.Values[1]) = '') or (Trim(INIInputPage.Values[2]) = '') then begin
                     MsgBox('Anda harus mengisikan data secara lengkap!', mbError, MB_OK);
                     Result := False;
              
                  end else begin
                    namaDsn := INIInputPage.Values[0];
                    ipServer := INIInputPage.Values[1];
                    lokasiDb := INIInputPage.Values[2];
                    
                    // tulis ke file ODBC.INI yg ada di folder windows\system
                    SetIniString('ODBC 32 bit Data Sources', namaDsn, 'Firebird/InterBase(r) driver (32 bit)', ExpandConstant('{win}') + '\ODBC.INI');
                    SetIniString(namaDsn, 'Driver32', ExpandConstant('{sys}') + '\OdbcFb32.dll', ExpandConstant('{win}') + '\ODBC.INI');
                    
                    // tulis ke registry windows
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\ODBC Data Sources', namaDsn, 'Firebird/InterBase(r) driver');
                          
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Driver', ExpandConstant('{sys}') + '\OdbcFb32.dll');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Description', '');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Dbname', ipServer + ':' + lokasiDb);
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Client', '');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'User', 'SYSDBA');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Role', '');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'CharacterSet', 'NONE');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'JdbcDriver', 'IscDbc');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'ReadOnly', 'N');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'NoWait', 'N');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'LockTimeoutWaitTransactions', '');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Dialect', '3');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'QuotedIdentifier', 'Y');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'SensitiveIdentifier', 'N');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'AutoQuotedIdentifier', 'N');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'UseSchemaIdentifier', '0');
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'SafeThread', 'Y');
                    
                    // DKEBFJENHFCOBHGHLAIMNAAFICELEAEGDNMFNOGALAMHBBGCHFADNKCBPPGMANOGIEKENIOPHDIPBIECPLLLCBIKEJKMJLPLIB
                    // pass 'masterkey' yg sudah dienkripsi
                    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + namaDsn, 'Password', 'DKEBFJENHFCOBHGHLAIMNAAFICELEAEGDNMFNOGALAMHBBGCHFADNKCBPPGMANOGIEKENIOPHDIPBIECPLLLCBIKEJKMJLPLIB');
                  end;
                end;
              end;
              

              Di detik2x akhir instalasi akan diminta utk memasukan informasi DSN, ip server dan lokasi database.

              Lihat gambar

              • arulamd
                July 27, 2012 at 8:03 am

                di coba dulu ya bos, terima kasih yah, atas bantuan dan kerja sama nya.

                • July 27, 2012 at 9:13 am

                  Oke om sama2x

                  • arulamd
                    July 27, 2012 at 10:30 am

                    bos, sudah berhasil saya, terima kasih banyak, untuk firebirdnya bagaimana cara create table pakai scrip di ibexpert nya.kira2 kompiteble dengan myql tidak scrip query nya.terima kasih?

                    • July 27, 2012 at 10:55 am

                      Secara umum perintah membuat tabel itu standar kok om di hampir semua database jadi dicoba dulu aja.

  21. arulamd
    August 14, 2012 at 3:40 pm

    bos, ane waktu coba uninstal program nya, ko tetap servise firebird nya jalan yah, padahal udah pake cara di atas, Filename: “{sys}\netsh.exe”; Parameters: “stop FirebirdGuardianDefaultInstance”; StatusMsg: “Menonaktifkan service firebird”; Flags: waituntilidle

    • August 16, 2012 at 8:57 am

      Klo di stop manual dari command prompt bisa enggak om ?

  22. sartono
    August 18, 2012 at 6:52 am

    Gan mau tanya, kalau kita buatin password di file database firebird bisa gak ya ? setau saya kalau firebird itu passwordnya pada aplikasi firebirdnya bukan pada databasenya, jadi ketika misal databaseku.fdb di copy orang terus di buka pake user dan password standarpun bisa kebuka, kan jeroan tabel, trigger dan procedur bisa kelihatan tuh …
    bisa gak ya biar orang copy ini file database (databaseku.fdb) gak bisa ke buka juga …
    makasih atas pencerahannya

    • August 18, 2012 at 9:22 am

      Iya databasenya memang enggak bisa dipassword, tapi tetap bisa diproteksi walupun enggak 100% aman sih :D. Tapi setidaknya bisa dicoba, untuk langkah-langkahnya bisa dilihat disini.

  23. sartono
    August 18, 2012 at 12:11 pm

    makasih gan sy pelajari dahulu

  24. sartono
    August 22, 2012 at 9:49 am

    pak sy coba pake
    Filename: “{sys}\netsh.exe”; Parameters: “stop FirebirdGuardianDefaultInstance”; StatusMsg: “Menonaktifkan service firebird”; Flags: waituntilidle
    service tetep gak bisa mati pak servicnya…. ada cara lain pak ?
    makasih

  25. uchi
    August 31, 2012 at 8:57 pm

    Pak Admin kalau tambahin pilihan untuk install firebird gimana ya ? misal di komputer udah ada firebird maka waktu setup gak usah install firebird, tapi kalau gak da firebird maka inno setup install firebird, maksudnya otomatis detek gitu, maksih ya pak admin.

  26. September 7, 2012 at 7:54 am

    ikut nyimak gan

  27. November 30, 2012 at 12:02 am

    bang ane mw tanya cara seting DSN myodbc pada windows 7 x64 gimana.. cz punya ane ga jalan di win7 x64 kalo x86 jalan..

  28. agung
    January 22, 2013 at 4:15 pm

    om hasil compiler klo diinstal di win7 kok ada error utk sdole.tlb.. klo winxp lancar jaya, kira2 knp om??

    • January 22, 2013 at 9:57 pm

      Coba tambahkan flag OnlyBelowVersion

      Source: stdole2.tlb; DestDir: {sys}; Flags: uninsneveruninstall sharedfile regtypelib; OnlyBelowVersion: 0,6.0
      

      6.0 versi dari windows Vista, jadi file stdole2.tlb hanya akan diproses untuk windows dibawah windows Vista

  29. agung
    January 23, 2013 at 10:04 am

    ok om,, makasih banyak,, mugo2 berkah ilmune… oiya om ada lagi masalah pada saat aq buat exe-nya lewat vb pada win7 kok ndak jalan di winxp ya?? tapi klo sebalikx ok2 aja..

    • January 23, 2013 at 10:19 am

      Apakah errornya seperti ini om ?

      Error 430 class does not support automation or ...
      

      Klo iya, biasanya ini terjadi klo kita ngompile VBnya lewat Win 7 SP 1, jadi solusi yg saya tau :

      1. Uninstall update SP1 😀
      2. Coba artikel disini, trus tinggal unduh file “Msado60_Backcompat.tlb” dan ikut instruksinya yg ada dan compile ulang project kita.

  30. agung
    February 1, 2013 at 7:50 am

    errory seperti ini om : runtime error 13, type mismatch… knp ya om??

    • February 2, 2013 at 10:11 am

      Klo dari pesannya sih berarti ada kesalahan tipe data pada saat proses pemberian nilai pada sebuah variabel/object. Contoh :

      Dim i As Integer
      
      i = "abc"
      
      • agung
        February 7, 2013 at 6:00 pm

        iya om harusx gtu.. tapi waktu aq buat .exe di xp error type mismatch ndak ada,, tapi klo dibuat exe dibuat lewat win7 akan keluar error mismatch jika diinstal di xp..

  31. February 7, 2013 at 6:50 pm

    emg errornya pada saat proses apa om?

  32. agung
    February 10, 2013 at 9:10 am

    error pada saat dijalankan .exe nya om,, klo aq compilex pake xp ndak error walaupun dijalankan di win7, tapi klo compilex pake win7 baru error klo dijalankan di xp.. kira2 knp om??

    • February 10, 2013 at 10:18 am

      Pada saat exenya dijalankan, biasanya kan menjalankan beberapa baris perintah, coba aja dinonaktifkan trus dicompile ulang masih nampil errornya yg sama enggak.

  33. deny
    May 23, 2013 at 7:53 am

    Pak admin saya buat setup aplikasi saya dengan INNO SETUP di situ saya masukkan setting odbc dengan script di inno setup, untuk di xp berjalan normal tapi kalau di win 7 suka gagal karena UAC masih aktif, harus di turunin sampe level bawah UAC baru bisa, nah gimana cara setting permition di win 7 untuk lolosin tulis odbc ke regedit tanpa kita setting manual dulu UACnya ? trim sebelumnya

  34. June 15, 2013 at 8:12 pm

    mas klo vb dengan database sql server 2000 cara buat instalasi nya dengan inno setup gimana mas??

  1. No trackbacks yet.
Comments are closed.