Patch level :04.044

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : versione del setup della 04.044
(Prima release definitiva per venditori PRASSI del 23/10/98)


git-svn-id: svn://10.65.10.50/trunk@7243 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1998-10-09 12:15:00 +00:00
parent 11be8f4e18
commit 67c581841a
5 changed files with 269 additions and 86 deletions

View File

@ -11,6 +11,8 @@ declare
BOOL bInstPresente, bNuovaInst, bDatiPresenti;
BOOL bIsNet;
BOOL bProgrammiServer;
BOOL bInstNTEutron, bInstNTHardlock;
BOOL bCannotExecute;
NUMBER nSystemFileModified;
// szAppPath e' la directory dove la applicazione verra' installata
STRING szAppPath[ _MAX_LENGTH ];
@ -87,8 +89,8 @@ declare
#define ZIP_DIRECTORY "ZIP"
#define ZIPDEMO_DIRECTORY "ZIPDEMO"
#define DEFAULT_LOCALPATH "C:\\easy"
#define DEFAULT_NETPATH "F:\\easy"
#define DEFAULT_LOCALPATH "C:\\eurocamp"
#define DEFAULT_NETPATH "F:\\eurocamp"
#define SELECTFOLDER_DIALOG 12008
// Prototipo delle funzioni
@ -108,11 +110,12 @@ prototype _ChiediDestinazione(BYREF NUMBER);
prototype _ChiediDestDati(BYREF NUMBER);
prototype _InstallazioneMinima(BYREF NUMBER);
prototype _InstallazioneDati(BYREF NUMBER);
prototype _Ask4Purchase();
prototype _NewNetWorkPlace(BYREF NUMBER);
prototype _ChooseDongleServer(BYREF NUMBER);
prototype _ChooseNTDongle(BYREF NUMBER);
prototype _ChiediDestDongleServer(BYREF NUMBER);
prototype _InstallDongleServer(BYREF NUMBER);
prototype _InstallNTDongle(BYREF NUMBER);
prototype _WhereIsDongleServer(BYREF NUMBER);
prototype _ChiediPrgSuRete(BYREF NUMBER );
prototype _ConfirmInstallation(BYREF NUMBER );
@ -153,9 +156,11 @@ prototype _CercaFileOvunque( STRING ,BYREF STRING );
prototype _Verifica( STRING );
prototype _Errore( STRING );
prototype _Attenzione( STRING );
prototype _Informazione( STRING );
prototype _DeSlash( STRING, BYREF STRING );
prototype _TCPIPPresent( );
prototype _GetOSName( );
prototype _GetTmpDir(BYREF STRING );
prototype _DisattivaScreenSaver( );
prototype _RiattivaScreenSaver( );
prototype _Cambia_Attributi(STRING);

View File

@ -30,6 +30,9 @@ Step_start:
//---------------------------------- defaults
bInstallPrg = TRUE;
bInstallData = FALSE;
bInstNTEutron=FALSE;
bInstNTHardlock=FALSE;
bCannotExecute=FALSE;
_ProgramPrologue();
@ -53,6 +56,7 @@ Step_start:
_CheckRequirements();
Step_welcome:
nDirection=0;
Disable( BACKBUTTON );
Welcome( "", 0 );
Enable( BACKBUTTON );
@ -103,11 +107,17 @@ Step_chooseDongleServer:
goto Step_choosewhereD;
endif;
Step_chooseNTDongle:
_ChooseNTDongle(nDirection);
if nDirection=BACK then
goto Step_chooseDongleServer;
endif;
Step_whereDongleServer:
_ChiediDestDongleServer(nDirection);
_WhereIsDongleServer(nDirection);
if nDirection=BACK then
goto Step_chooseDongleServer;
goto Step_chooseNTDongle;
endif;
if nDirection=NEXT then
@ -156,6 +166,8 @@ Step_purchase:
ChangeDirectory(szAppPath);
LaunchAppAndWait("ba1.exe","-4 -uPRASSI",WAIT);
endif;
// ... never purchase (new) modules
// ... always lauch installer
if bInstallModules then
ChangeDirectory(szAppPath);
LaunchAppAndWait("ba1.exe","-6 -uPRASSI",WAIT);

View File

@ -9,17 +9,21 @@ begin
zInstallEnv= bInstallEnv;
zInstallDemo=bInstallDemo;
zInstallNetWrk=bInstallNetWrk;
szMsg = "Setup puo' essere utilizzato per installare ";
szMsg=szMsg + "EuroCampo in versione normale o demo, oppure ";
szMsg=szMsg + "una postazione di lavoro che sfrutta una precedente intallazione su disco di rete";
nRetv = AskOptions(EXCLUSIVE,szMsg,
"&Installazione EuroCAMPO",
bInstallEnv,
"Installazione EuroCAMPO &Demo",
bInstallDemo,
"Installazione nuova postazione di lavoro in &rete",
bInstallNetWrk
);
#ifdef __DEMO__
bInstallDemo=TRUE;
#else
szMsg = "Setup puo' essere utilizzato per installare il software ";
szMsg=szMsg + "EuroCampo oppure una postazione di lavoro che sfrutta ";
szMsg=szMsg + "una precedente intallazione su disco di rete";
nRetv = AskOptions(EXCLUSIVE,szMsg,
"&Installazione EuroCAMPO",
bInstallEnv,
// "Installazione EuroCAMPO &Demo",
// bInstallDemo,
"Installazione nuova postazione di lavoro in &rete",
bInstallNetWrk
);
#endif
if (( zInstallDemo!=bInstallDemo) || (zInstallNetWrk!=bInstallNetWrk) ) then
// something changed ...
if bInstallDemo then
@ -45,7 +49,7 @@ function _SelectComponents(nRetv)
begin
repeat
if szOSName = "Windows" || bInstallDemo then
// Windows 3.XX platforms
// Windows 3.XX platforms (16bit)
if bInstallNetWrk then
szMsg= "Setup installerà la postazione di lavoro in rete.\nE' possibile installare anche l'area dati.";
nRetv = AskOptions(NONEXCLUSIVE,szMsg,
@ -92,26 +96,29 @@ begin
endif;
szMsg= "Si e' selezionato di installare gli archivi. \n";
szMsg= szMsg + "L'area dati deve contenere:";
#ifdef __DEMO__
bInstallDemoData=TRUE;
#else
repeat
nRetv = AskOptions(EXCLUSIVE,szMsg,
"gli archivi di &ditta",
bInstallFirm,
"gli archivi De&mo",
bInstallDemoData,
"gli archivi di Auto&formazione",
bInstallAutoform
);
if nRetv=BACK then
return ;
endif;
sInstType = INST_ENVIRONMENT;
if bInstallDemoData then
sInstType = INST_DEMO;
elseif bInstallAutoform then
sInstType = INST_AUTOFORM;
endif;
nRetv = AskOptions(EXCLUSIVE,szMsg,
"gli archivi di &ditta",
bInstallFirm,
"gli archivi De&mo",
bInstallDemoData
// "gli archivi di Auto&formazione",
// bInstallAutoform
);
if nRetv=BACK then
return ;
endif;
sInstType = INST_ENVIRONMENT;
if bInstallDemoData then
sInstType = INST_DEMO;
elseif bInstallAutoform then
sInstType = INST_AUTOFORM;
endif;
until nRetv=NEXT;
#endif
return ;
end;
@ -235,24 +242,17 @@ begin
return;
endif;
if bNuovaInst then
szMsg= "Setup procedera' con l'installazione dei programmi di ambiente.";
szMsg=szMsg + "Si desidera acquistare e abilitare nuovi moduli prima di installarli?";
bInstallModules=TRUE;
nRet = AskOptions(NONEXCLUSIVE,szMsg,
"&Acquisto e abilitazione nuovi moduli",
bPurchase
);
else
szMsg= "Si sta aggiornando una precedente installazione. Setup reinstallerà i programmi di ambiente. ";
szMsg=szMsg + "Se si desidera anche acquistare e abilitare nuovi moduli o aggiornare quelli già acquistati selezionare le caselle sottostanti";
nRet = AskOptions(NONEXCLUSIVE,szMsg,
"&Acquisto e abilitazione nuovi moduli",
bPurchase,
"Installazione o aggiornamento &moduli",
bInstallModules
);
endif;
#ifdef __DEMO__
bPurchase=FALSE;
bInstallModules=TRUE;
#else
bPurchase=FALSE;
if bCannotExecute then
bInstallModules=FALSE;
return;
endif;
bInstallModules=TRUE;
#endif
return ;
end;
@ -326,7 +326,9 @@ function _NewNetWorkPlace(nDirection )
NUMBER nGoOut, nRet, nResult, nDisk;
BOOL bInstWinCG;
begin
bInstWinCG = _Verifica("Installare anche le librerie di CG ? ");
bInstWinCG = TRUE;
// modifica del 30/9/98
// bInstWinCG = _Verifica("Installare anche le librerie di CG ? ");
SetColor(STATUSBAR,BLUE);
Enable(FEEDBACK_OPERATION);
@ -359,11 +361,11 @@ begin
Delay(1);
FileSetEndPerform ( "SYS" );
if (bInstWinCG) then
ChangeDirectory( szConfigPath);
szText = szAppPath ^ "\\cgpostIN.EXE";
LaunchAppAndWait( szText , szAppPath, WAIT );
endif;
// if (bInstWinCG) then
// ChangeDirectory( szConfigPath);
// szText = szAppPath ^ "\\cgpostIN.EXE";
// LaunchAppAndWait( szText , szAppPath, WAIT );
// endif;
Disable( FEEDBACK_FULL );
Disable(STATUS);
@ -374,6 +376,7 @@ begin
ChangeDirectory( szAppPath);
_RemoveUnusedFiles();
_Attenzione("E' stata installata una postazione di rete. \nE' necessario riavviare Windows prima di eseguire EuroCampo.");
return ;
end;
@ -468,9 +471,11 @@ end;
function _InstallazioneMinima(nRetv)
BOOL bReenterPath, bConfirmdatapath;
STRING sTmp[32],sPath[64];
NUMBER direction;
begin
if bInstallPrg then
_InstallNTDongle(direction);
if bInstallEnv || bInstallDemo then
_ForceAttrib4Dll( );
// Effettua la vera e propria installazione minima
@ -497,15 +502,6 @@ begin
endif;
end;
function _Ask4Purchase()
begin
if (AskYesNo("Vuoi acquistare nuovi moduli",NO)) then
// lancia il programma ''enabler''
endif;
return NEXT;
end;
// sceglie il tipo di chiave (locale o server)
function _ChooseDongleServer(nRetv)
BOOL bJunk;
@ -613,32 +609,163 @@ begin
return ;
end;
function _ChooseNTDongle(nDirection)
STRING szTempore,szCmdline,szCmdDir;
NUMBER nRetv;
BOOL bInstServices,go_on,bJunk;
begin
if szOSName="Windows NT" && !bUseDongleServer then
go_on=FALSE;
while (!go_on)
nDirection = AskOptions(EXCLUSIVE,"Si sta installando EuroCampo su una macchina Windows NT che utilizza il controllo delle autorizzazioni tramite chiave locale. E' necessaria l'installazione dei servizi NT per le chiavi",
"Installa ora i servizi",
bInstServices,
"Installa i servizi in seguito",
bCannotExecute,
"Servizi gia' installati",
bJunk
);
go_on = nDirection=NEXT;
if !go_on then
return;
endif;
if bInstServices then
nDirection = AskOptions(EXCLUSIVE,"Per installare questi servizi e' necessario avere effettuato il login come utente 'Amministratore'. Se si e' effettuato il login con un altro utente uscire da Windows e rientrare come 'Amministratore'.",
"il login e' stato effettuato come amministratore",
bInstServices,
"il login non e' stato effettuato come amministratore",
bCannotExecute
);
go_on = nDirection=NEXT;
if go_on && bInstServices then
nDirection = AskOptions(EXCLUSIVE,"Controllare il produttore dell'hardware delle chiavi di protezione. Si tratta di una chiave",
"&Eutron",
bInstNTEutron,
"&HardLock",
bInstNTHardlock
);
go_on = nDirection=NEXT;
endif;
endif;
endwhile;
if bCannotExecute then
_Attenzione("Assicurarsi che i servizi NT siano attivi prima di lanciare EuroCAMPO");
endif;
endif;
end;
function _InstallNTDongle(nDirection)
STRING szTempore,szCmdline,szCmdDir;
NUMBER nRetv;
BOOL ok;
begin
if bInstNTHardlock || bInstNTEutron then
_GetTmpDir(TARGETDIR);
FileSetBeginDefine ( "NTSUPPORT");
if bInstNTHardlock then
ok = CompressGet( "SYSNT.Z", "hlinst.exe", INCLUDE_SUBDIR ) >=0;
ok = ok && CompressGet( "SYSNT.Z", "skeyrm.exe", INCLUDE_SUBDIR )>=0;
ok = ok && CompressGet( "SYSNT.Z", "hardlock.sys", INCLUDE_SUBDIR ) >=0;
ok = ok && CompressGet( "SYSNT.Z", "hlvdd.dll", INCLUDE_SUBDIR ) >=0;
if (!ok) then
szTempore = STR_ERR_DECOMPRESS + " il programma di installazione dei servizi Hardlock per NT.";
_Errore( szTempore );
return;
endif;
endif;
if bInstNTEutron then
ok = CompressGet( "SYSNT.Z", "skeyadd.exe", INCLUDE_SUBDIR )>=0;
ok = ok && CompressGet( "SYSNT.Z", "hlinst.exe", INCLUDE_SUBDIR ) >=0;
ok = ok && CompressGet( "SYSNT.Z", "skeyrm.exe", INCLUDE_SUBDIR )>=0;
TARGETDIR = WINDIR ^ "SYSTEM32" ^ "DRIVERS";
ok = ok && CompressGet( "SYSNT.Z", "keyp.sys", INCLUDE_SUBDIR )>=0;
if (!ok) then
szTempore = STR_ERR_DECOMPRESS + " il programma di installazione dei servizi Eutron per NT.";
_Errore( szTempore );
return;
endif;
endif;
FileSetEndDefine ( "NTSUPPORT");
_PerformSet ( "NTSUPPORT");
_GetTmpDir(szCmdDir);
if bInstNTHardlock then
// warn: close all Hardlock applicat
szTempore="Sto lanciando il programma di installazione dei servizi di rete Hardlock.";
szTempore=szTempore+"\nE' necessario chiudere tutte le applicazioni che fanno uso della protezione Hardlock.";
_Informazione(szTempore);
// remove previous installations
szCmdline = szCmdDir ^ "skeyrm";
LaunchAppAndWait("skeyrm","",WAIT);
szCmdline = szCmdDir ^ "HLINST";
LaunchAppAndWait(szCmdline,"-d",WAIT);
_Informazione("Precedenti installazioni dei servizi di protezione hardware sono stati de-installati");
// reinstall
szCmdline = szCmdDir ^ "HLINST";
LaunchAppAndWait(szCmdline,szCmdDir,WAIT);
_Informazione("I servizi di rete Hardlock sono stati re-installati. Proseguo con l'installazione dei programmi di ambiente.");
endif;
if bInstNTEutron then
_Informazione("Sto lanciando il programma di installazione dei servizi di rete Eutron.\nE' necessario chiudere tutte le applicazioni che fanno uso della protezione Eutron.");
// remove previous installations
szCmdline = szCmdDir ^ "skeyrm";
LaunchAppAndWait(szCmdline,"",WAIT);
szCmdline = szCmdDir ^ "HLINST";
LaunchAppAndWait(szCmdline,"-d",WAIT);
_Informazione("Precedenti installazioni dei servizi di protezione hardware sono stati de-installati");
// reinstall
szCmdline = szCmdDir ^ "skeyadd";
LaunchAppAndWait(szCmdline,szCmdDir,WAIT);
_Informazione("I servizi di rete Eutron sono stati re-installati. Proseguo con l'installazione dei programmi di ambiente.");
endif;
endif; // not an NT machine...
end;
function _InstallDongleServer(nDirection)
STRING szTempore;
begin
if !bInstallDongleServer then
return;
endif;
_InstallNTDongle(nDirection);
if bInstallDongleServer then
// chiave di rete
SetColor(STATUSBAR,BLUE);
Enable(FEEDBACK_OPERATION);
Enable(STATUS);
SetStatusWindow( 0, "Scompattamento in corso..." );
TARGETDIR = szConfigPath;
if ( CreateDir( TARGETDIR ) < 0 ) then
_Errore( STR_DIR_NOTCREATED );
else
if ( CompressGet( "BA.Z", "frontend.exe", INCLUDE_SUBDIR ) < 0) then
szTempore = STR_ERR_DECOMPRESS + " il server di autorizzazioni.";
_Errore( szTempore );
return;
endif;
if ( CompressGet( "SYS.Z", "aga*.dll", INCLUDE_SUBDIR ) < 0) then
FileSetBeginDefine ( "FRONTEND");
if ( CompressGet( "SYS.Z", "AGA*.DLL", INCLUDE_SUBDIR ) < 0) then
szTempore = STR_ERR_DECOMPRESS + " le librerie.";
_Errore( szTempore );
return;
endif;
if ( CompressGet( "SYS.Z", "SKEY*.DLL", INCLUDE_SUBDIR ) < 0) then
szTempore = STR_ERR_DECOMPRESS + " il supporto per EUTRON.";
_Errore( szTempore );
return;
endif;
if ( CompressGet( "BA.Z", "FRONTEND.EXE", INCLUDE_SUBDIR ) < 0) then
szTempore = STR_ERR_DECOMPRESS + " il server di autorizzazioni.";
_Errore( szTempore );
return;
endif;
FileSetEndDefine ( "FRONTEND");
_PerformSet ( "FRONTEND");
szTempore = szConfigPath ^ "\\frontend.exe";
AddFolderIcon( szAutoRunFolder, "Frontend", szTempore, "", szTempore, 0, "", REPLACE );
endif;
endif;
end;
function _ConfirmInstallation(nDirection)
@ -695,7 +822,8 @@ begin
// Now display the information
// SdShowInfoList( "Conferma installazione", Msg, listInfo );
// in attesa che il fottuto sistema di SDDIalogs di quei coglioni teste di cazzo
// in attesa che il fottuto sistema di SDDIalogs di quei
// coglioni teste di cazzo
// della stirling funzioni, ecco una soluzione di merda:
if AskYesNo( "Procedo con l'installazione?", YES ) then
nDirection = NEXT;

View File

@ -1,6 +1,7 @@
function _SetPathpref( )
STRING szTmpPath[_MAX_LENGTH];
STRING szPrgPath[_MAX_LENGTH];
STRING szTmp;
begin
if (bProgrammiServer) then
@ -132,7 +133,15 @@ begin
szTemp = "C:\\RESET_HL.EXE";
EzBatchReplace( szTemp );
nLen = StrLength( szAppPath );
StrSub( szTemp, szAppPath, 0, nLen - 1);
// Controlla se c'e' la backslash finale, in tale caso lo elimina
// Comunque questa stringa non avra' piu' bisogno di essere installata
// in AUTOEXEC.BAT per quanto concerne il PATH
StrSub(szTemp, szAppPath, nLen - 1, 1);
if (szTemp = "\\") then
StrSub( szTemp, szAppPath, 0, nLen - 1);
else
szTemp = szAppPath;
endif;
EzBatchAddPath( "PATH", szTemp, "", AFTER );
EzConfigGetValue( "FILES", nCurFiles );
if nCurFiles < NUM_FILES_IN_CONFIG then

View File

@ -17,6 +17,14 @@ begin
MessageBox( szWarningString, WARNING );
end;
//-----------------------------------------------------------------------------
function _Informazione( szWarningString )
begin
SetDialogTitle( DLG_MSG_WARNING, "Attenzione!" );
MessageBox( szWarningString, INFORMATION);
end;
//-----------------------------------------------------------------------------
function _Verifica( szQuestion )
NUMBER nRet;
@ -140,14 +148,35 @@ begin
// poiche' tale dll vale solo per Windows 3.11
GetSystemInfo(WINMAJOR,nResult,szResult);
bIsWin95 = FALSE;
if (szResult = "3.95") then
bIsWin95 = TRUE;
endif;
GetSystemInfo(OS,nResult,szOSName);
if(GetSystemInfo(OS,nResult,szOSName) < 0) then
MessageBox("Couldn't get Operating System info",WARNING);
else switch(nResult)
case IS_WINDOWS:
szOSName="Windows";
case IS_WINDOWSNT:
szOSName="Windows NT";
case IS_WINDOWS95:
szOSName="Windows 95";
bIsWin95 = TRUE;
case IS_WIN32S:
szOSName="Win32s";
endswitch;
endif;
VarRestore(SRCTARGETDIR);
end;
//-----------------------------------------------------------------------------
// Reperisce il nome del sistema operativo
function _GetTmpDir(szResult )
STRING szTemp;
begin
szTemp=SUPPORTDIR;
szResult =szTemp;
end;
//-----------------------------------------------------------------------------
function _CreateDLG( szDLG, iDLG_ID, lHwnd )
STRING szSupportDLL [ _MAX_LENGTH ];