Ho un progetto di installazione e distribuzione visiva. Ho aggiunto uno script .cmd in esso. Lo script avrebbe bisogno di privilegi di amministratore per l'esecuzione. Quando l'utente fa clic su setup.exe, UAC richiede all'utente le autorizzazioni di amministratore. Quindi ho pensato che tutti i processi creati e chiamati all'interno di setup.exe funzionassero in capacità di amministrazione. Così ho fatto il setup per chiamare la mia applicazione console che contiene il seguente codice.esegue automaticamente cmd.exe come adminstrator in vista, C#
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);
Quindi avrebbe dovuto funzionare in quanto è eseguito sotto spazio amministratore.
Voglio eseguire cmd.exe attraverso la classe di processo C# come amministratore. Sto eseguendo Windows Vista.
Ho provato non ha funzionato! Cosa posso fare!
voglio impersonare l'amministratore. Come succede in setup.exe automaticamente. Questo richiede la password! –
Ti aspettavi un risultato diverso quando provi a impersonare un amministratore? Altrimenti chiunque esegua il codice può essere un amministratore senza conoscere la password. Non ti sembra un rischio significativo per la sicurezza? –
Riformulando la domanda. per favore date un'occhiata e commentatelo –