c# - solo - Come forzare il mio programma Win#C eseguito come amministratore su qualsiasi computer?




programma funziona solo come amministratore (3)

Come forzare il mio programma Win # C eseguito come amministratore su qualsiasi computer? e qualsiasi tipo di sistema operativo?

Ho bisogno di una soluzione di codice (qualsiasi codice di esempio sarà eccellente)

Grazie in anticipo


Ecco il codice di esempio per eseguire l'applicazione come amministratore.

ProcessStartInfo proc = new ProcessStartInfo();
proc.UseShellExecute = true;
proc.WorkingDirectory = Environment.CurrentDirectory;
proc.FileName = Application.ExecutablePath;
proc.Verb = "runas";
try
{
    Process.Start(proc);
}
catch
{
    // The user refused the elevation.
    // Do nothing and return directly ...
    return;
}
Application.Exit();  // Quit itself

Impostate ProcessStartInfo.Verb su "runas" per farlo funzionare come amministratore. Ecco le FAQ correlate

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/28f84724-af3e-4fa1-bd86-b0d1499eaefa#x_FAQAnswer91



Puoi incorporare questo manifest nella tua applicazione.

<?xml version="1.0" encoding="utf-8" ?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <assemblyIdentity version="1.0.0.0" name="MyApplication" />
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
            </requestedPrivileges>
        </security>
    </trustInfo>
</asmv1:assembly>  




manifest