Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - richiesta avvio applicazione  come amministratore
Forum - C# / VB.NET - richiesta avvio applicazione come amministratore

Avatar
niccolo84 (Normal User)
Newbie


Messaggi: 11
Iscritto: 31/05/2010

Segnala al moderatore
Postato alle 19:47
Sabato, 12/06/2010
Salve,

ho creato in visual 2008 un applicazione che una volta istallata e avviata durante il processo, tra le altre cose, crea una cartella e dei file .txt all'interno di essa. Al momento della creazione della cartella e dei file esce un messaggio di errore nel quale si specifica che è impossibile creare tali file.
Se sull' exe clicco con il tasto destro e seleziono "eseguire come amministratore" il programma funziona.

Volevo sapere se, da codice, c'era la possibilità di far uscire, nel momento in cui si clicca sull'applicazione per farla avviare, il messaggio di avviso di avvio come amministratore di windows, senza dover andare io manualmente. O farlo avviare direttamente come amministratore, è uguale.
Quando si avvia l'installer della applicazione questo messaggio esce automaticamente, vorrei che uscisse anche quando avvio l'exe, a programma istallato.

note: uso windows 7 (su xp funziona) e accedo come amministratore.

grazie

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:02
Sabato, 12/06/2010
Puoi risolvere aggiungendo questo al manifest del tuo eseguibile:

Codice sorgente - presumibilmente Plain Text

  1. <security>
  2. <requestedPrivileges>
  3. <requestedExecutionLevel level="requireAdministrator" />
  4. </requestedPrivileges>
  5. </security>



In alternativa da codice puoi fare una cosa del genere:

Codice sorgente - presumibilmente C# / VB.NET

  1. ProcessStartInfo processInfo = new ProcessStartInfo();
  2. processInfo.Verb = "runas";
  3. processInfo.FileName = Application.ExecutablePath;
  4. Process.Start(processInfo);



Nel secondo caso ricordati di chiudere poi l'istanza corrente del processo

            

Ultima modifica effettuata da il 12/06/2010 alle 21:04
PM Quote
Avatar
niccolo84 (Normal User)
Newbie


Messaggi: 11
Iscritto: 31/05/2010

Segnala al moderatore
Postato alle 21:44
Sabato, 12/06/2010

Ho risolto con il nodo.

Codice sorgente - presumibilmente Plain Text

  1. <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />



Grazie

PM Quote
Avatar
TEX WILLER (Normal User)
Expert


Messaggi: 579
Iscritto: 07/07/2009

Segnala al moderatore
Postato alle 11:10
Domenica, 13/06/2010
nel titolo del topic potevi mettere il linguaggio ecco la parte del regolamento - Inserire nel titolo della discussione il linguaggio usato
Ad esempio: "[Vb.Net]", "[C#]"; o anche specificando la versione "[VB2008]", "[C# 3.0]". Questo punto del regolamento non è obbligatorio, ma è fortemente consigliato.

Disattenzioni che succedono non leggendo i regolamenti interni di ogni sezione!

Ultima modifica effettuata da TEX WILLER il 13/06/2010 alle 11:17
PM Quote