Αφού εγκατασταθεί το πρόγραμμά μου σε ένα μηχάνημα-πελάτη, πώς μπορώ να αναγκάσω το πρόγραμμά μου να εκτελείται ως διαχειριστής στα Windows 7;
Θα πρέπει να τροποποιήσετε το μανιφέστο που ενσωματώνεται στο πρόγραμμα. Αυτό λειτουργεί στο Visual Studio 2008 και νεότερες εκδόσεις: Project + Add New Item, επιλέξτε "Application Manifest File". Αλλάξτε το στοιχείο <requestedExecutionLevel>
σε:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Ο χρήστης λαμβάνει την προτροπή UAC κατά την εκκίνηση του προγράμματος. Χρησιμοποιήστε το με σύνεση- η υπομονή τους μπορεί να εξαντληθεί γρήγορα.
Η προσθήκη ενός στοιχείου requestedExecutionLevel
στο μανιφέστο σας είναι μόνο το ήμισυ του παντός- πρέπει να θυμάστε ότι το UAC μπορεί να απενεργοποιηθεί. Εάν είναι, πρέπει να εκτελέσετε τον έλεγχο με τον παλιό τρόπο και να εμφανίσετε ένα παράθυρο διαλόγου σφάλματος εάν ο χρήστης δεν είναι διαχειριστής (καλέστε το IsInRole(WindowsBuiltInRole.Administrator)
στο νήμα σας CurrentPrincipal
).
Μπορείτε να ενσωματώσετε ένα αρχείο δηλωτικού στο αρχείο EXE, το οποίο θα αναγκάσει τα Windows (7 ή νεότερη έκδοση) να εκτελούν το πρόγραμμα πάντα ως διαχειριστής.
Μπορείτε να βρείτε περισσότερες λεπτομέρειες στην ενότητα Βήμα 6: Δημιουργία και ενσωμάτωση ενός μανιφέστου εφαρμογής (UAC) (MSDN).