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

View File

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

View File

@ -9,17 +9,21 @@ begin
zInstallEnv= bInstallEnv; zInstallEnv= bInstallEnv;
zInstallDemo=bInstallDemo; zInstallDemo=bInstallDemo;
zInstallNetWrk=bInstallNetWrk; zInstallNetWrk=bInstallNetWrk;
szMsg = "Setup puo' essere utilizzato per installare "; #ifdef __DEMO__
szMsg=szMsg + "EuroCampo in versione normale o demo, oppure "; bInstallDemo=TRUE;
szMsg=szMsg + "una postazione di lavoro che sfrutta una precedente intallazione su disco di rete"; #else
nRetv = AskOptions(EXCLUSIVE,szMsg, szMsg = "Setup puo' essere utilizzato per installare il software ";
"&Installazione EuroCAMPO", szMsg=szMsg + "EuroCampo oppure una postazione di lavoro che sfrutta ";
bInstallEnv, szMsg=szMsg + "una precedente intallazione su disco di rete";
"Installazione EuroCAMPO &Demo", nRetv = AskOptions(EXCLUSIVE,szMsg,
bInstallDemo, "&Installazione EuroCAMPO",
"Installazione nuova postazione di lavoro in &rete", bInstallEnv,
bInstallNetWrk // "Installazione EuroCAMPO &Demo",
); // bInstallDemo,
"Installazione nuova postazione di lavoro in &rete",
bInstallNetWrk
);
#endif
if (( zInstallDemo!=bInstallDemo) || (zInstallNetWrk!=bInstallNetWrk) ) then if (( zInstallDemo!=bInstallDemo) || (zInstallNetWrk!=bInstallNetWrk) ) then
// something changed ... // something changed ...
if bInstallDemo then if bInstallDemo then
@ -45,7 +49,7 @@ function _SelectComponents(nRetv)
begin begin
repeat repeat
if szOSName = "Windows" || bInstallDemo then if szOSName = "Windows" || bInstallDemo then
// Windows 3.XX platforms // Windows 3.XX platforms (16bit)
if bInstallNetWrk then if bInstallNetWrk then
szMsg= "Setup installerà la postazione di lavoro in rete.\nE' possibile installare anche l'area dati."; szMsg= "Setup installerà la postazione di lavoro in rete.\nE' possibile installare anche l'area dati.";
nRetv = AskOptions(NONEXCLUSIVE,szMsg, nRetv = AskOptions(NONEXCLUSIVE,szMsg,
@ -92,26 +96,29 @@ begin
endif; endif;
szMsg= "Si e' selezionato di installare gli archivi. \n"; szMsg= "Si e' selezionato di installare gli archivi. \n";
szMsg= szMsg + "L'area dati deve contenere:"; szMsg= szMsg + "L'area dati deve contenere:";
#ifdef __DEMO__
bInstallDemoData=TRUE;
#else
repeat repeat
nRetv = AskOptions(EXCLUSIVE,szMsg, nRetv = AskOptions(EXCLUSIVE,szMsg,
"gli archivi di &ditta", "gli archivi di &ditta",
bInstallFirm, bInstallFirm,
"gli archivi De&mo", "gli archivi De&mo",
bInstallDemoData, bInstallDemoData
"gli archivi di Auto&formazione", // "gli archivi di Auto&formazione",
bInstallAutoform // bInstallAutoform
); );
if nRetv=BACK then if nRetv=BACK then
return ; return ;
endif; endif;
sInstType = INST_ENVIRONMENT; sInstType = INST_ENVIRONMENT;
if bInstallDemoData then if bInstallDemoData then
sInstType = INST_DEMO; sInstType = INST_DEMO;
elseif bInstallAutoform then elseif bInstallAutoform then
sInstType = INST_AUTOFORM; sInstType = INST_AUTOFORM;
endif; endif;
until nRetv=NEXT; until nRetv=NEXT;
#endif
return ; return ;
end; end;
@ -235,24 +242,17 @@ begin
return; return;
endif; endif;
if bNuovaInst then #ifdef __DEMO__
szMsg= "Setup procedera' con l'installazione dei programmi di ambiente."; bPurchase=FALSE;
szMsg=szMsg + "Si desidera acquistare e abilitare nuovi moduli prima di installarli?"; bInstallModules=TRUE;
bInstallModules=TRUE; #else
nRet = AskOptions(NONEXCLUSIVE,szMsg, bPurchase=FALSE;
"&Acquisto e abilitazione nuovi moduli", if bCannotExecute then
bPurchase bInstallModules=FALSE;
); return;
else endif;
szMsg= "Si sta aggiornando una precedente installazione. Setup reinstallerà i programmi di ambiente. "; bInstallModules=TRUE;
szMsg=szMsg + "Se si desidera anche acquistare e abilitare nuovi moduli o aggiornare quelli già acquistati selezionare le caselle sottostanti"; #endif
nRet = AskOptions(NONEXCLUSIVE,szMsg,
"&Acquisto e abilitazione nuovi moduli",
bPurchase,
"Installazione o aggiornamento &moduli",
bInstallModules
);
endif;
return ; return ;
end; end;
@ -326,7 +326,9 @@ function _NewNetWorkPlace(nDirection )
NUMBER nGoOut, nRet, nResult, nDisk; NUMBER nGoOut, nRet, nResult, nDisk;
BOOL bInstWinCG; BOOL bInstWinCG;
begin 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); SetColor(STATUSBAR,BLUE);
Enable(FEEDBACK_OPERATION); Enable(FEEDBACK_OPERATION);
@ -359,11 +361,11 @@ begin
Delay(1); Delay(1);
FileSetEndPerform ( "SYS" ); FileSetEndPerform ( "SYS" );
if (bInstWinCG) then // if (bInstWinCG) then
ChangeDirectory( szConfigPath); // ChangeDirectory( szConfigPath);
szText = szAppPath ^ "\\cgpostIN.EXE"; // szText = szAppPath ^ "\\cgpostIN.EXE";
LaunchAppAndWait( szText , szAppPath, WAIT ); // LaunchAppAndWait( szText , szAppPath, WAIT );
endif; // endif;
Disable( FEEDBACK_FULL ); Disable( FEEDBACK_FULL );
Disable(STATUS); Disable(STATUS);
@ -374,6 +376,7 @@ begin
ChangeDirectory( szAppPath); ChangeDirectory( szAppPath);
_RemoveUnusedFiles(); _RemoveUnusedFiles();
_Attenzione("E' stata installata una postazione di rete. \nE' necessario riavviare Windows prima di eseguire EuroCampo.");
return ; return ;
end; end;
@ -468,9 +471,11 @@ end;
function _InstallazioneMinima(nRetv) function _InstallazioneMinima(nRetv)
BOOL bReenterPath, bConfirmdatapath; BOOL bReenterPath, bConfirmdatapath;
STRING sTmp[32],sPath[64]; STRING sTmp[32],sPath[64];
NUMBER direction;
begin begin
if bInstallPrg then if bInstallPrg then
_InstallNTDongle(direction);
if bInstallEnv || bInstallDemo then if bInstallEnv || bInstallDemo then
_ForceAttrib4Dll( ); _ForceAttrib4Dll( );
// Effettua la vera e propria installazione minima // Effettua la vera e propria installazione minima
@ -497,15 +502,6 @@ begin
endif; endif;
end; 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) // sceglie il tipo di chiave (locale o server)
function _ChooseDongleServer(nRetv) function _ChooseDongleServer(nRetv)
BOOL bJunk; BOOL bJunk;
@ -613,32 +609,163 @@ begin
return ; return ;
end; 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) function _InstallDongleServer(nDirection)
STRING szTempore; STRING szTempore;
begin begin
if !bInstallDongleServer then _InstallNTDongle(nDirection);
return; if bInstallDongleServer then
endif; // chiave di rete
SetColor(STATUSBAR,BLUE);
Enable(FEEDBACK_OPERATION);
Enable(STATUS);
SetStatusWindow( 0, "Scompattamento in corso..." );
TARGETDIR = szConfigPath; TARGETDIR = szConfigPath;
if ( CreateDir( TARGETDIR ) < 0 ) then if ( CreateDir( TARGETDIR ) < 0 ) then
_Errore( STR_DIR_NOTCREATED ); _Errore( STR_DIR_NOTCREATED );
else else
if ( CompressGet( "BA.Z", "frontend.exe", INCLUDE_SUBDIR ) < 0) then FileSetBeginDefine ( "FRONTEND");
szTempore = STR_ERR_DECOMPRESS + " il server di autorizzazioni."; if ( CompressGet( "SYS.Z", "AGA*.DLL", INCLUDE_SUBDIR ) < 0) then
_Errore( szTempore ); szTempore = STR_ERR_DECOMPRESS + " le librerie.";
return; _Errore( szTempore );
endif; return;
if ( CompressGet( "SYS.Z", "aga*.dll", INCLUDE_SUBDIR ) < 0) then 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."; szTempore = STR_ERR_DECOMPRESS + " il server di autorizzazioni.";
_Errore( szTempore ); _Errore( szTempore );
return; return;
endif; endif;
FileSetEndDefine ( "FRONTEND");
_PerformSet ( "FRONTEND");
szTempore = szConfigPath ^ "\\frontend.exe"; szTempore = szConfigPath ^ "\\frontend.exe";
AddFolderIcon( szAutoRunFolder, "Frontend", szTempore, "", szTempore, 0, "", REPLACE ); AddFolderIcon( szAutoRunFolder, "Frontend", szTempore, "", szTempore, 0, "", REPLACE );
endif; endif;
endif;
end; end;
function _ConfirmInstallation(nDirection) function _ConfirmInstallation(nDirection)
@ -695,7 +822,8 @@ begin
// Now display the information // Now display the information
// SdShowInfoList( "Conferma installazione", Msg, listInfo ); // 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: // della stirling funzioni, ecco una soluzione di merda:
if AskYesNo( "Procedo con l'installazione?", YES ) then if AskYesNo( "Procedo con l'installazione?", YES ) then
nDirection = NEXT; nDirection = NEXT;

View File

@ -1,6 +1,7 @@
function _SetPathpref( ) function _SetPathpref( )
STRING szTmpPath[_MAX_LENGTH]; STRING szTmpPath[_MAX_LENGTH];
STRING szPrgPath[_MAX_LENGTH]; STRING szPrgPath[_MAX_LENGTH];
STRING szTmp;
begin begin
if (bProgrammiServer) then if (bProgrammiServer) then
@ -132,7 +133,15 @@ begin
szTemp = "C:\\RESET_HL.EXE"; szTemp = "C:\\RESET_HL.EXE";
EzBatchReplace( szTemp ); EzBatchReplace( szTemp );
nLen = StrLength( szAppPath ); 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 ); EzBatchAddPath( "PATH", szTemp, "", AFTER );
EzConfigGetValue( "FILES", nCurFiles ); EzConfigGetValue( "FILES", nCurFiles );
if nCurFiles < NUM_FILES_IN_CONFIG then if nCurFiles < NUM_FILES_IN_CONFIG then

View File

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