Domanda

Sto sviluppando WinForms, eseguendo XP e VS 2005 (antico, lo so). Vorrei assicurarmi che la mia applicazione potesse essere eseguita senza i diritti di amministratore, ma sono troppo pigra per provare a eseguire VS come non amministratore e non voglio accedere e disconnettermi per testare la mia app.

Esiste un modo in cui posso semplicemente eseguire il debug come non amministratore?

Esiste una serie di attributi di sicurezza di accesso al codice che posso aggiungere al mio codice che mi costringono a correre nella stessa serie di autorizzazioni di un non amministratore?

È stato utile?

Soluzione

Esegui VS come un altro utente dalla sessione desktop attualmente connessa. Vedi Come abilitare e utilizzare il " Esegui come " comando durante l'esecuzione di programmi in Windows . Ciò significa che non dovrai accedere e uscire.

Suggerirei di eseguire l'applicazione di destinazione come un altro utente, tramite RunAs, quindi collegare VS Debugger al processo (se necessario), tramite Debug > Voce di menu Allega al processo ... in Visual Studio.

Altri suggerimenti

Basandosi sulla risposta di Phil, puoi automatizzare il processo impostando il progetto di avvio su:

Avvia il programma esterno: c:\windows\system32\runas.exe

con gli argomenti della riga di comando: / noprofile / user: {MachineName} \ {UserName} {ApplicationName} .exe

Sfortunatamente, non penso che ci sia un modo automatico per collegare il processo al debugger VS (a causa dell'avviso di sicurezza), ma chiamando condizionalmente

#if (DEBUG) 
    System.Diagnostics.Debugger.Launch();
#endif

ti verrà richiesto di collegarti a un debugger con due clic.

Approccio a questo con un cambiamento più fondamentale:

Se si abilita il computer in uso per consentire sessioni Desktop remoto simultanee ( Vista , XP , utilizza Google per gli altri), quindi avvia una sessione di Desktop remoto su 127.0.0.2, puoi eseguire come utente completamente diverso sul tuo sistema locale, consentendoti di fare qualunque cosa tu vorrebbe senza dover passare da un utente all'altro.

Per me, normalmente corro come utente non amministrativo, ma avvio una sessione di Desktop remoto come amministratore ogni volta che devo eseguire un'attività amministrativa. Ma puoi fare il contrario altrettanto facilmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top