Aggiunto controllo di permessi di amministratore ad installazione
git-svn-id: svn://10.65.10.50/branches/R_10_00@22667 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									4be3336e19
								
							
						
					
					
						commit
						20fc8e1492
					
				@ -15,6 +15,7 @@
 | 
			
		||||
#include "ba1500.h"
 | 
			
		||||
#include "ba1600.h"
 | 
			
		||||
#include "ba1700a.h"
 | 
			
		||||
#include "ba1701.h"
 | 
			
		||||
 | 
			
		||||
// definizioni delle colonne dello sheet
 | 
			
		||||
#define C_MODULE 1
 | 
			
		||||
@ -380,6 +381,9 @@ int TInstaller_mask::precheck_modules(bool only_newer)
 | 
			
		||||
        }
 | 
			
		||||
        disable(DLG_USER);
 | 
			
		||||
        check_enabled = false;  //..ed uscire
 | 
			
		||||
 | 
			
		||||
        if (!run_as_admin())
 | 
			
		||||
          warning_box("Per installare il modulo è necessario eseguire l'applicazione come amministratore.");
 | 
			
		||||
      }
 | 
			
		||||
    } //if(modnumber>=0...
 | 
			
		||||
  } //FOR_EACH_ARRAY_ROW...
 | 
			
		||||
@ -1645,6 +1649,12 @@ void TInstaller_mask::install_selection()
 | 
			
		||||
      //richiesto aggiornamento da disco del modulo SY o del modulo SR da manutenzione/installazione moduli!
 | 
			
		||||
      if (modulo == "sy" || modulo == "sr")
 | 
			
		||||
      {
 | 
			
		||||
        if (!run_as_admin())
 | 
			
		||||
        {
 | 
			
		||||
          error_box("Per installare il modulo sistema è necessario eseguire l'applicazione come amministratore");
 | 
			
		||||
          break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!internet)
 | 
			
		||||
        {
 | 
			
		||||
          bool file_copied = false;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								ba/ba1701.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								ba/ba1701.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
#include "ba1701.h"
 | 
			
		||||
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
 | 
			
		||||
bool run_as_admin()
 | 
			
		||||
{
 | 
			
		||||
  bool yes = true;
 | 
			
		||||
  
 | 
			
		||||
  TOKEN_ELEVATION_TYPE elevationType = (TOKEN_ELEVATION_TYPE)0; // N/A for < Vista
 | 
			
		||||
  OSVERSIONINFO VerInfo;
 | 
			
		||||
  VerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
 | 
			
		||||
  GetVersionEx(&VerInfo);
 | 
			
		||||
  if (VerInfo.dwMajorVersion >= 6)	// If Vista or newer,
 | 
			
		||||
  {
 | 
			
		||||
	  HANDLE hToken;				// read elevation type
 | 
			
		||||
	  BOOL bOK = OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &hToken);
 | 
			
		||||
	  DWORD infoLen;
 | 
			
		||||
	  yes = GetTokenInformation(hToken, TokenElevationType,	// type of info to retrieve
 | 
			
		||||
			                        &elevationType,		// receives return value
 | 
			
		||||
			                        sizeof(elevationType), &infoLen) != 0;		// receives returned length
 | 
			
		||||
  }
 | 
			
		||||
  return yes;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								ba/ba1701.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ba/ba1701.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
bool run_as_admin();
 | 
			
		||||
@ -40,13 +40,17 @@ BEGIN
 | 
			
		||||
  FLAGS "D"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
SPREADSHEET F_SHEET 0 -3
 | 
			
		||||
SPREADSHEET F_SHEET
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT 1 4 ""
 | 
			
		||||
  ITEM "Campo@16"
 | 
			
		||||
  ITEM "Campo@16"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE 
 | 
			
		||||
 | 
			
		||||
TOOLBAR "Topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_OK 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -13 -1 ""
 | 
			
		||||
@ -66,7 +70,7 @@ ENDPAGE
 | 
			
		||||
 | 
			
		||||
ENDMASK
 | 
			
		||||
 | 
			
		||||
PAGE "Fields" -1 -1 68 6
 | 
			
		||||
PAGE "Fields" -1 -1 68 4
 | 
			
		||||
 | 
			
		||||
STRING F_FLD_FROM 12
 | 
			
		||||
BEGIN
 | 
			
		||||
@ -80,6 +84,10 @@ BEGIN
 | 
			
		||||
  FLAGS "B"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
ENDPAGE 
 | 
			
		||||
 | 
			
		||||
TOOLBAR "Topbar" 0 0 0 2
 | 
			
		||||
 | 
			
		||||
BUTTON DLG_OK 10 2
 | 
			
		||||
BEGIN
 | 
			
		||||
  PROMPT -12 -1 ""
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user