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
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
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
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
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
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ımızı regedite yazıyoruz
program açılırken regeditten bilgileri okuyorum