Pokazywanie postów oznaczonych etykietą InstallShield - Apache Tomcat. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą InstallShield - Apache Tomcat. Pokaż wszystkie posty

piątek, 1 kwietnia 2011

Pobranie ścieżki do zainstalowanego serwera Apache Tomcat w Installshield

Funkcja wykrywa i zwraca ścieżkę do zainstalowanego serwera Apache Tomcat
- parametrami funkcji są 2 zmienne: szName - nazwa Serwera Tomcat np ""apache-tomcat-6.0.20" oraz - bLog (bool) - (zmienna określająca zapis do logu)
- funkcja zwraca ściezkę lub pusty string
function STRING GetTomcatPath(szName, bLog)
STRING szPath;                                                
string sKey,sValue,sData;          
number nSize,nType,nResult;
begin                                                         
 szPath = "";
 if bLog then WriteLog(0,"* Wykrywanie katalogu Tomcata"); endif;
  if (Is(PATH_EXISTS,PROGRAMFILES ^ szName)) then
   szPath =   PROGRAMFILES ^ szName;
   if bLog then WriteLog(1,"- katalog: \""+szPath+"\""); endif;  
   else                                      
    if bLog then WriteLog(1,"- Sprawdzenie w rejestrach"); endif;
 RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
 sKey = "SOFTWARE\\Apache Software Foundation\\Tomcat\\6.0";
 if (RegDBKeyExist(sKey)==1) then 
    sValue="InstallPath";                 
    if bLog then WriteLog(1,"- znaleziono klucz instalacyjny"); endif;
   if (RegDBGetKeyValueEx( sKey, sValue, nType, sData, nSize )==0) then
    if (Is(PATH_EXISTS,sData)) then
     szPath = sData;
     if bLog then WriteLog(1,"- katalog: \""+szPath+"\"");endif;  
    else
     if bLog then WriteLog(1,"- katalog nie istnieje: \""+szPath+"\""); endif;   
    endif;
   endif;
  endif; 
 endif;
 
 if StrLength(szPath)=0 then
   if bLog then WriteLog(1,"- nie wykryto"); endif;
 endif; 
 
 return szPath;
end; 

poniedziałek, 25 października 2010

Instalacja usługi Apache Tomcat 6.x

Funkcja pozwala zainstalować usługę, zatrzymać, uruchomić, zaaktualizować parametry usługi i deinstalować usługę Apache Tomcat
Parametry:
szPath - ścieżka zainstalowanego serwera Apache Tomcat 6.x
nAction - 0..5 wybrana akcja dotycząca usługi
szParams - można pominąć - future
bLog - zapis do logu informacji
function BOOL TomcatService(szPath, nAction, szParams, bLog)
BOOL bResult;
STRING szLog, szProgram, szAction;
begin 
 switch (nAction)
  case 0: szAction = '//TS//';
    szLog = " uruchomienie usługi Tomcat jako aplikacja konsolowa";            
  case 1: szAction = '//SS//';   
    szLog = " zatrzymanie usługi Tomcat";            
  case 2: szAction = '//US//';
    szLog = " aktualizacja parametrow usługi Tomcat";                 
  case 3: szAction = '//IS//';
    szLog = " instalacja usługi Tomcat";                   
  case 4: szAction = '//DS//Tomcat6';
    szLog = " deinstalacja usługi Tomcat";                     
 endswitch;                             
 
 if Is(FILE_EXISTS, szPath ^ "tomcat6.exe") then
  szProgram = szPath ^ "tomcat6.exe";
  if LaunchApplication(szProgram, szAction, szPath, SW_HIDE, 0, LAAW_OPTION_USE_SHELLEXECUTE | 
LAAW_OPTION_WAIT | LAAW_OPTION_SHOW_HOURGLASS)=ISERR_SUCCESS then
      bResult = TRUE;  
     else  
      bResult = FALSE;
     endif;
 else  
  if bLog then WriteLog(1,"Brak pliku \"tomcat6.exe\" "); endif;
 endif;
 
 return bResult;             
end;

środa, 28 października 2009

Funkcja odczytująca konfigurację portów serwera Apache Tomcat


function BOOL GetTomcatPorts(szPath, svPortHTTP, svPortSHD, svPortAJP, bLog)
BOOL bResult, bFindHTTP, bFindSHD, bFindAJP;
LIST lsPlik;
string line, newline, szPortLine;
int i,nStart,nStop;
begin
if Is(FILE_EXISTS, szPath ^ "conf\\server.xml") then
bFindHTTP = FALSE;
bFindSHD = FALSE;
bFindAJP = FALSE;
lsPlik = ListCreate(STRINGLIST);
ListReadFromFile(lsPlik, szPath ^ "conf\\server.xml");
if ListCount(lsPlik)>0 then
ListSetIndex(lsPlik,LISTFIRST);
for i=0 to ListCount(lsPlik)-1
ListCurrentString(lsPlik,line);
if (StrFind(line,"Connector port")>=0) && (StrFind(line,'protocol="HTTP/1.1"')>=0) && (StrFind(line,'SSLEnabled')<0) then nStart = StrFind(line,"port"); nStart = nStart+6;//7 StrSub(szPortLine,line,nStart,10); nStop = StrFind(szPortLine,"\""); line = szPortLine; StrSub(szPortLine,line,0,nStop); svPortHTTP = szPortLine; if bLog then WriteLog(2,"- znaleziono konfigurację na Port HTTP: "+svPortHTTP); endif; bFindHTTP = TRUE; endif; if (StrFind(line,"Server port")>=0) && (StrFind(line,'shutdown="SHUTDOWN">')>=0) then
nStart = StrFind(line,"port");
nStart = nStart+6;
StrSub(szPortLine,line,nStart,10);
nStop = StrFind(szPortLine,"\"");
line = szPortLine;
StrSub(szPortLine,line,0,nStop);
svPortSHD = szPortLine;
if bLog then WriteLog(2,"- znaleziono konfigurację na Port ShutDown: "+svPortSHD); endif;
bFindSHD = TRUE;
endif;

if (StrFind(line,"Connector port=")>=0) && (StrFind(line,'protocol="AJP/1.3"')>=0) then
nStart = StrFind(line,"port");
nStart = nStart+6;
StrSub(szPortLine,line,nStart,10);
nStop = StrFind(szPortLine,"\"");
line = szPortLine;
StrSub(szPortLine,line,0,nStop);
svPortAJP = szPortLine;
if bLog then WriteLog(2,"- znaleziono konfigurację na Port AJP: "+svPortAJP); endif;
bFindAJP = TRUE;
endif;

ListSetIndex(lsPlik,LISTNEXT);
endfor;
endif;

//Zapis konfiguracji
if bFindHTTP then
bResult = TRUE;
else
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Portu HTTP. Przypisano domyślny: 8080"); endif;
svPortHTTP = "8080";
endif;

if !bFindSHD then
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Port Shutdown. Przypisano domyślny: 8005"); endif;
svPortSHD = "8005";
endif;

if !bFindAJP then
if bLog then WriteLog(2,"- nie znaleziono konfiguracji Port AJP. Przypisano domyślny: 8009"); endif;
svPortSHD = "8009";
endif;

ListDestroy(lsPlik);

else
if bLog then
WriteLog(1,"- plik konfiguracji \"server.xml\" serwera nie istnieje w katalogu:\""+szPath+"\"");
endif;
bResult = FALSE;
endif;

return bResult;
end;