Question

J'ai écrit une application WPF. Lorsqu'il est installé sur les machines clientes, ils sont invités à entrer un nom d'utilisateur et mot de passe afin qu'ils aient des privilèges d'administrateur pour utiliser l'application.

J'ai besoin des privilèges d'administrateur parce que mon application ouvre des ports et écrit des fichiers sur le système de fichiers.

Est-il possible de permettre à tout utilisateur d'exécuter l'application sans être invité à entrer un nom d'utilisateur et mot de passe d'administrateur et d'élever l'application à exécuter avec privleges d'administrateur?

Merci

Était-ce utile?

La solution

Lorsque votre application est installée, il vous demandera des droits d'administrateur si le Installation programme a été marqué pour l'exécution admin. Ceci est normalement nécessaire que si vous souhaitez installer un emplacement disponible pour plusieurs utilisateurs, tels que dans la hiérarchie des dossiers Program Files. Un MSI soulèvera une invite UAC par défaut, mais il est facile de faire un MSI Wix qui ne soulève pas invite UAC.

Lorsque votre application est exécutée (par un utilisateur sans droits d'administrateur), il demandera des droits d'administrateur si le application lui-même a été marqué pour l'exécution admin. Ceci est en partie sous votre contrôle, mais peut supplantée par les utilisateurs sur la machine cliente.

Une application qui écrit dans les dossiers système de fichiers ne nécessitent pas de droits d'administrateur aussi longtemps que l'utilisateur exécutant l'application est autorisé à ces dossiers. En général, vous pouvez faire ce travail en écrivant à un endroit qui est accessible à chaque utilisateur.

Cependant, je crois que l'ouverture d'un port fait des droits d'administrateur besoin si l'application est de faire quelque chose de plus que l'interrogation des informations statistiques.

Si votre application ne droits d'admin de courir, et vous ne voulez pas que vos utilisateurs non-administrateur pour une invite UAC lors de l'exécution du programme, alors je vous suggère de diviser votre application en 2 parties.

La première partie est un service Windows qui fonctionne sous un utilisateur privilégié tels que LocalSystem et est configuré pour interagir avec les programmes de bureau. Ce service fait toutes les tâches liées à l'administration, et devra être installé par un installateur qui demande des droits d'administrateur.

La deuxième partie est le programme WPF qui ne fait rien privilégiée. Si vous marquez ce programme WPF ne pas besoin d'élévation, vos utilisateurs ne verront jamais une invite UAC lors de l'exécution, parce que tout le travail privilégié est fait par un service qui est toujours en cours d'exécution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top