Enhance DoliWamp installer.
This commit is contained in:
parent
54116df390
commit
83fce86f80
@ -208,7 +208,8 @@ begin
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
// Create a page wpInstalling
|
// Prepare an object calle "Page" of type wpInstalling.
|
||||||
|
// Object will be show later in NextButtonClick function.
|
||||||
Page := CreateInputQueryPage(wpInstalling,
|
Page := CreateInputQueryPage(wpInstalling,
|
||||||
'Technical parameters', '',
|
'Technical parameters', '',
|
||||||
'If first install, please specify some technical parameters. If you don''t understand, are not sure, or are doing an upgrade, just leave the default values.');
|
'If first install, please specify some technical parameters. If you don''t understand, are not sure, or are doing an upgrade, just leave the default values.');
|
||||||
@ -222,8 +223,15 @@ begin
|
|||||||
Page.Add('Mysql port (first install only, common choice is 3306) :', False);
|
Page.Add('Mysql port (first install only, common choice is 3306) :', False);
|
||||||
Page.Add('Mysql server and database password you want for root (first install only):', False);
|
Page.Add('Mysql server and database password you want for root (first install only):', False);
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Page.Add('SMTP server (your own or ISP SMTP server, first install only) :', False);
|
||||||
|
Page.Add('Apache port (first install only, common choice is 80) :', False);
|
||||||
|
Page.Add('Mysql port (first install only, common choice is 3306) :', False);
|
||||||
|
Page.Add('Mysql server and database password you want for root (first install only):', False);
|
||||||
|
end
|
||||||
|
|
||||||
// Valeurs par defaut
|
// Default values
|
||||||
Page.Values[0] := smtpServer;
|
Page.Values[0] := smtpServer;
|
||||||
Page.Values[1] := apachePort;
|
Page.Values[1] := apachePort;
|
||||||
Page.Values[2] := mysqlPort;
|
Page.Values[2] := mysqlPort;
|
||||||
@ -257,19 +265,73 @@ end;
|
|||||||
|
|
||||||
function NextButtonClick(CurPageID: Integer): Boolean;
|
function NextButtonClick(CurPageID: Integer): Boolean;
|
||||||
var myResult: Integer;
|
var myResult: Integer;
|
||||||
|
var res: Boolean;
|
||||||
|
var paramok: Boolean;
|
||||||
begin
|
begin
|
||||||
|
|
||||||
|
res := True;
|
||||||
|
|
||||||
//MsgBox(''+CurPageID,mbConfirmation,MB_YESNO);
|
//MsgBox(''+CurPageID,mbConfirmation,MB_YESNO);
|
||||||
|
|
||||||
if CurPageID = Page.ID then
|
if CurPageID = Page.ID then
|
||||||
begin
|
begin
|
||||||
|
|
||||||
|
|
||||||
|
// This must be in if curpage.id = page.id, otherwise it is executed after each Next button
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
// copie des dll de php vers apache
|
||||||
|
//----------------------------------------------
|
||||||
|
|
||||||
|
phpDllCopy := 'fdftk.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'fribidi.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'gds32.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'libeay32.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'libmhash.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'libmysql.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'msql.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'libmysqli.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'ntwdblib.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'php5activescript.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'php5isapi.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'php5nsapi.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'ssleay32.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'yaz.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'libmcrypt.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
phpDllCopy := 'php5ts.dll';
|
||||||
|
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
||||||
|
|
||||||
|
|
||||||
|
// Remove lock file
|
||||||
|
DeleteFile(pathWithSlashes+'/www/dolibarr/install.lock');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if MsgBox('DoliWamp installer will now start or restart Apache and Mysql, this may last from several seconds to one minute after this confirmation...',mbConfirmation,MB_YESNO) = IDYES then
|
||||||
|
begin
|
||||||
|
|
||||||
// Check if parameters already defined in conf.php file
|
// Check if parameters already defined in conf.php file
|
||||||
srcFile := pathWithSlashes+'/www/dolibarr/htdocs/conf/conf.php';
|
srcFile := pathWithSlashes+'/www/dolibarr/htdocs/conf/conf.php';
|
||||||
if not FileExists (srcFile) then
|
if not FileExists (srcFile) then
|
||||||
begin
|
begin
|
||||||
firstinstall := true;
|
firstinstall := true;
|
||||||
|
|
||||||
|
// Values from wizard
|
||||||
mysmtp := Page.Values[0];
|
mysmtp := Page.Values[0];
|
||||||
myporta := Page.Values[1];
|
myporta := Page.Values[1];
|
||||||
myportas:= '443';
|
myportas:= '443';
|
||||||
@ -278,6 +340,9 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
firstinstall := false;
|
||||||
|
|
||||||
|
// Values from registry
|
||||||
mysmtp := smtpServer;
|
mysmtp := smtpServer;
|
||||||
myporta := apachePort;
|
myporta := apachePort;
|
||||||
myportas:= '443';
|
myportas:= '443';
|
||||||
@ -285,14 +350,14 @@ begin
|
|||||||
mypass := newPassword;
|
mypass := newPassword;
|
||||||
end
|
end
|
||||||
|
|
||||||
// Save parameters to registry
|
paramok := True;
|
||||||
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'smtpServer', mysmtp);
|
// TODO Test if choice of param is ok if firstinstall
|
||||||
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePort', myporta);
|
|
||||||
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePSSL', myportas);
|
|
||||||
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'mysqlPort', myport);
|
|
||||||
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'newPassword', mypass);
|
|
||||||
|
|
||||||
|
|
||||||
|
if paramok
|
||||||
|
then
|
||||||
|
begin
|
||||||
|
|
||||||
//----------------------------------------------
|
//----------------------------------------------
|
||||||
// Rename file c:/windows/php.ini (we don't want it)
|
// Rename file c:/windows/php.ini (we don't want it)
|
||||||
//----------------------------------------------
|
//----------------------------------------------
|
||||||
@ -686,55 +751,7 @@ begin
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
// Uninstall and Install services
|
||||||
// This must be in if curpage.id = page.id, otherwise it is executed after each Next button
|
|
||||||
|
|
||||||
//----------------------------------------------
|
|
||||||
// copie des dll de php vers apache
|
|
||||||
//----------------------------------------------
|
|
||||||
|
|
||||||
phpDllCopy := 'fdftk.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'fribidi.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'gds32.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'libeay32.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'libmhash.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'libmysql.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'msql.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'libmysqli.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'ntwdblib.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'php5activescript.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'php5isapi.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'php5nsapi.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'ssleay32.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'yaz.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'libmcrypt.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
phpDllCopy := 'php5ts.dll';
|
|
||||||
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
|
|
||||||
|
|
||||||
|
|
||||||
// Remove lock file
|
|
||||||
DeleteFile(pathWithSlashes+'/www/dolibarr/install.lock');
|
|
||||||
|
|
||||||
|
|
||||||
MsgBox('DoliWamp installer will now start or restart Apache and Mysql, this may last from several seconds to one minute after this confirmation.',mbInformation,MB_OK)
|
|
||||||
|
|
||||||
|
|
||||||
// Install services
|
|
||||||
batFile := path+'\uninstall_services.bat';
|
batFile := path+'\uninstall_services.bat';
|
||||||
Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
|
Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
|
||||||
batFile := path+'\install_services.bat';
|
batFile := path+'\install_services.bat';
|
||||||
@ -753,10 +770,41 @@ begin
|
|||||||
batFile := path+'\removefiles.bat';
|
batFile := path+'\removefiles.bat';
|
||||||
Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
|
Exec(batFile, '',path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
|
||||||
|
|
||||||
|
|
||||||
|
// Save parameters to registry
|
||||||
|
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'smtpServer', mysmtp);
|
||||||
|
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePort', myporta);
|
||||||
|
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'apachePSSL', myportas);
|
||||||
|
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'mysqlPort', myport);
|
||||||
|
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp', 'newPassword', mypass);
|
||||||
|
|
||||||
|
|
||||||
|
res := True;
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
|
||||||
|
MsgBox('Selected values seems to be already used. Please choose other values.',mbInformation,MB_OK);
|
||||||
|
|
||||||
|
res := False;
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
|
||||||
|
// MsgBox('Apache and Mysql installation has been canceled. Please select parameters to start their installation.',mbInformation,MB_OK)
|
||||||
|
|
||||||
|
res := False;
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
Result := True;
|
Result := res;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user