inno setup ile MYSQL kurulum

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
theSinan

inno setup ile MYSQL kurulum

Mesaj gönderen theSinan » 14 Nis 2014 09:13

s.a
bir zamanlar mysqli
programımın kurulum esnasında OTOMATİK KURMAK büyük sıkıntı yaşatmıştı
eski formda yazmıştım form tarih olunca aynıyı sıkıntı bende sonra yaşayanlar olabilir inşallah yardımcı olacaktır
bence en basit yolu
http://downloads.skysql.com/archive/sig ... i/v/5.5.11

adresinden mysql-5.5.11-win32.msi dosyasını indirin

inno setup kodlarını yazayım açıklamasını aşağıda yapalım



Kod: Tümünü seç


[Files]
Source: "D:\Onemli_Yazilim\Projeler\teknik_servis\Win32\Release\Project1.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Onemli_Yazilim\Projeler\teknik_servis\Win32\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs


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

[Icons]
Name: "{group}\Tamir"; Filename: "{app}\Project1.exe"
Name: "{group}\{cm:ProgramOnTheWeb,Tamir}"; Filename: "http://www.sitenizi_adı.com"
Name: "{commondesktop}\Tamir"; Filename: "{app}\Project1.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Tamir"; Filename: "{app}\Project1.exe"; Tasks: quicklaunchicon


   
 [Code]
function MySQL_Is(): Boolean;
var
iResultCode: Integer;
begin
  Result := true;
  if (not RegKeyExists(HKLM, 'SOFTWARE\MySQL AB\MySQL Server 5.5')) or 
   (not FileExists(ExpandConstant('{reg:HKLM\SOFTWARE\MySQL AB\MySQL Server 5.5,Location}\bin\mysql.exe'))) 
  then begin
     ExtractTemporaryFile('mysql-5.5.11-win32.msi');
     Exec('msiexec.exe', '/i mysql-5.5.11-win32.msi /qn INSTALLDIR="C:\mysql"', 
      ExpandConstant('{tmp}'), SW_HIDE, ewWaitUntilTerminated, iResultCode);
         if not FileExists(ExpandConstant('{reg:HKLM\SOFTWARE\MySQL AB\MySQL Server 5.5,Location}\bin\mysql.exe')) then begin
            MsgBox('Something went wrong! Installation should be terminated', 
              mbInformation, MB_OK);
            Result := false;
         end;
  end;
end;









[Registry]

 
 
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: VeriYolu; ValueData:localhost; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: Kullanici; ValueData:root; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: Sifre; ValueData:kardesler; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: VeriTabani; ValueData:kardesler_tamir; Flags: createvalueifdoesntexist uninsdeletevalue




[Run]
Filename: msiexec; Parameters: "/i mysql-5.5.11-win32.msi /qn INSTALLDIR=""{app}\mysql"""; WorkingDir:{app}; StatusMsg: Mysql Sunucu Kuruluyor Version: 5.5.11;  Flags: runhidden
Filename: {app}\mysql\bin\mysqld.exe; Parameters:" --install"; WorkingDir: {app}; StatusMsg:  MySQL Servis Yukleniyor; Description:  MySQL Servis Başlatılıyor; Flags: runhidden
Filename: net.exe; Parameters: start mysql; StatusMsg: Starting MySQL server; Description: MySQL Server Başlatıldı; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""update mysql.user set password=PASSWORD('kardesler') where user='root';"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'kardesler' WITH GRANT OPTION;"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""flush privileges;"" -u root "; WorkingDir: {app}; StatusMsg:MYSQL Ayarlanıyor ; Flags: runhidden

Filename: "{app}\Project1.exe"; Description: "{cm:LaunchProgram,Tamir}"; Flags: nowait postinstall skipifsilent

[/code]

mysql veri tabanımızı önce mysql kuracağımız dizinin altındaki mysql\data\ dizinin altına kopyalıyoruz

Kod: Tümünü seç

Source: "D:\Onemli_Yazilim\Projeler\teknik_servis\Win32\data\kardesler_tamir\*"; DestDir: "{app}\mysql\data\kardesler_tamir"; Flags: ignoreversion onlyifdoesntexist recursesubdirs createallsubdirs uninsneveruninstall
uninsneveruninstall parametresi ile programı kaldırırken bu dosyaları silme diyoruz

run altındaki

Kod: Tümünü seç

Filename: msiexec; Parameters: "/i mysql-5.5.11-win32.msi /qn INSTALLDIR=""{app}\mysql"""; WorkingDir:{app}; StatusMsg: Mysql Sunucu Kuruluyor Version: 5.5.11;  Flags: runhidden
mysql kurulum yapmayı INSTALLDIR=""{app}\mysql"""; ile mysqlimizi projemiz altındaki mysql dizine kurulmasını sağlıyoruz

Kod: Tümünü seç

Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""update mysql.user set password=PASSWORD('kardesler') where user='root';"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
mysql varsayılan parolası değiştirmek istersek (ben değiştiriyorum)

Kod: Tümünü seç

Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'kardesler' WITH GRANT OPTION;"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
ile mysqli dışardan gelen bağlantılara açıyoruz


Kod: Tümünü seç

Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: VeriYolu; ValueData:localhost; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: Kullanici; ValueData:root; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: Sifre; ValueData:kardesler; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKLM; SubKey: Software\Kardesler Bilgisayar\Teknik Servis; ValueType: string; ValueName: VeriTabani; ValueData:kardesler_tamir; Flags: createvalueifdoesntexist uninsdeletevalue
veritabanı_yolu, kullanıcı_adi, şifre,
veritabanımızı regedite yazıyoruz
program açılırken regeditten bilgileri okuyorum

enesharun
Üye
Mesajlar: 15
Kayıt: 17 Eki 2014 10:46

Re: inno setup ile MYSQL kurulum

Mesaj gönderen enesharun » 25 Haz 2015 02:33

Merhabalar, Yukarıdaki kodlarınızı uyguladım fakat msqld.exe dosyasını bulamıyor diyor.
Bilgisayarımda mysql programfiles altında kurulu şu satırda takılıyorum : {app}\mysql\bin\mysqld.exe; C:\StokTakip klasörümde arıyor bunu. Yardımlarınızı beklerim :(


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

#define MyAppName "Stok Takip ve Satış İşlemleri Sistemi"
#define MyAppVersion "1.0"
#define MyAppPublisher "Yazılım Hizmeti"
#define MyAppURL "http://www.yazilimhizmeti.com/"
#define MyAppExeName "StokTakip.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={{99A2ED4C-D611-4B75-9853-F2D831708BFA}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\StokTakip
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=C:\
OutputBaseFilename=StokTakipSetup
SetupIconFile=C:\Stok\ICONS\favicon.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "ukrainian"; MessagesFile: "compiler:Languages\Turkish.isl"

[Files]
Source: "C:\Stok\StokTakip.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: Stok\ICONS\*.*; DestDir: {app}\ICONS
Source: Stok\MALRESIMLERI\*.*; DestDir: {app}\MALRESIMLERI
Source: Stok\HELP\*.*; DestDir: {app}\HELP
Source: Stok\*.fr3; DestDir: {app}\
Source: Stok\*.ini; DestDir: {app}\

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

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

Kod: Tümünü seç

function MySQL_Is(): Boolean;
var
iResultCode: Integer;
begin
  Result := true;
  if (not RegKeyExists(HKLM, 'SOFTWARE\MySQL AB\MySQL Server 5.5')) or 
   (not FileExists(ExpandConstant('{reg:HKLM\SOFTWARE\MySQL AB\MySQL Server 5.5,Location}\bin\mysql.exe'))) 
  then begin
     ExtractTemporaryFile('mysql-5.5.11-win32.msi');
     Exec('msiexec.exe', '/i mysql-5.5.11-win32.msi /qn INSTALLDIR="C:\mysql"', 
      ExpandConstant('{tmp}'), SW_HIDE, ewWaitUntilTerminated, iResultCode);
         if not FileExists(ExpandConstant('{reg:HKLM\SOFTWARE\MySQL AB\MySQL Server 5.5,Location}\bin\mysql.exe')) then begin
            MsgBox('Something went wrong! Installation should be terminated', 
              mbInformation, MB_OK);
            Result := false;
         end;
  end;
end;

[Run]
Filename: msiexec; Parameters: "/i mysql-5.5.11-win32.msi /qn INSTALLDIR=""{app}\mysql"""; WorkingDir:{app}; StatusMsg: Mysql Sunucu Kuruluyor Version: 5.5.11;  Flags: runhidden
Filename: {app}\mysql\bin\mysqld.exe; Parameters:" --install"; WorkingDir: {app}; StatusMsg:  MySQL Servis Yukleniyor; Description:  MySQL Servis Başlatılıyor; Flags: runhidden
Filename: net.exe; Parameters: start mysql; StatusMsg: Starting MySQL server; Description: MySQL Server Başlatıldı; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""update mysql.user set password=PASSWORD('1qaz2wsx') where user='root';"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz2wsx' WITH GRANT OPTION;"" -u root"; WorkingDir: {app}; StatusMsg: MYSQL Ayarlanıyor; Flags: runhidden
Filename: {app}\mysql\bin\mysql.exe; Parameters: "-e ""flush privileges;"" -u root "; WorkingDir: {app}; StatusMsg:MYSQL Ayarlanıyor ; Flags: runhidden

Filename: "{app}\StokTakip.exe"; Description: "{cm:LaunchProgram,Tamir}"; Flags: nowait postinstall skipifsilent

Filename: msiexec; Parameters: "/i mysql-5.5.11-win32.msi /qn INSTALLDIR=""{app}\mysql"""; WorkingDir:{app}; StatusMsg: Mysql Sunucu Kuruluyor Version: 5.5.11;  Flags: runhidden

Cevapla