31. oktober 2014 - 19:10Der er
9 kommentarer og 1 løsning
C# program kræver adminstrator rettigheder
Jeg er udvikler af et c# Windows program, der, når det startes af en bruger, der ikke er administrator, bliver promptet for brugernavn og password. Som jeg har forstået det er det UAC der "driller". Nogle brugere oplever dog dette problem selvom UAC er slået fra på serveren. Så mit spørgsmål går på hvorfor Windows spørger til brugernavn og password fra en administrator når programmet starter? Det er jo ikke alle programmer der skal køre "elevated". Hvordan afgør Windows hvilke programmer der skal kører "elevated"? Er der noget jeg skal gøre i mit C# program for at undgå dette?
Programmet har sin egen data mappe under c:\ProgramData hvori der læses og skrives til en datafil (XML fil). Kan dette betyde at Windows kræver elevated rights?
Kunne lyde som om det ikke er alle brugere der har de samme rettigheder til den mappe siden det kun er nogen der bliver prompted?
Jeg ville nok prøve for sjov at give alle brugere ( hedder "Everyone" på engelsk, kan ikke huske hvad den præcis hedder på en dansk windows ) skrive/læse rettigheder til den mappe og se om det løser problemet.
Alle brugere har rettigheder til mappen. Jeg kan dog ikke se hvordan Windows på forhånd kan vide om et program skriver til en bestemt mappe, og derfor beder om elevated rights ved opstart af programmet.
Som jeg har forstået det er det Windows UAC der driller. Spørgsmålet er hvordan jeg fortæller at mit program ikke kræver administrator priviliges. Nogle mener man blot skal slå UAC fra, mens andre mener man skal tilføje <requestedExecutionLevel level="asInvoker" /> til sit manifest.
Ved godt du har lukket, men du kan prompte brugeren for administrator rettigheder ved at tilføje følgende i dit manifest <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.