Avatar billede cronqvist Nybegynder
31. oktober 2014 - 19:10 Der 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?

Håber nogle har løsningen.

På forhånd tak.
Avatar billede claes57 Ekspert
31. oktober 2014 - 19:31 #1
hvis du opdaterer noget i mapper, der er fælles for brugere, eller globale indstillinger, så skal alle brugere jo spørges.
Avatar billede cronqvist Nybegynder
31. oktober 2014 - 19:47 #2
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?
Avatar billede claes57 Ekspert
31. oktober 2014 - 20:10 #3
?ved ikke - men prøv at flytte filen til c:\users\[aktuelt brugernavn]\appdata\local\[dit program]\filnavn
Avatar billede cronqvist Nybegynder
31. oktober 2014 - 20:16 #4
Det dur desværre ikke. Programmet benyttes af flere brugere og dataene der ligger i filen er fælles for alle brugere.
Avatar billede Syska Mester
31. oktober 2014 - 20:29 #5
Har brugere adgang til den mappe?

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.
Avatar billede cronqvist Nybegynder
31. oktober 2014 - 20:38 #6
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.
Avatar billede Syska Mester
31. oktober 2014 - 20:47 #7
Ohhhh,

Så er det måske problemet med hvor programmet startes fra?

Har du undersøgt rettigheder der? Eventuelt ... prøv samme tip, giv alle adgang.
Avatar billede cronqvist Nybegynder
31. oktober 2014 - 20:57 #8
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.
Avatar billede cronqvist Nybegynder
29. april 2015 - 07:18 #9
n/a
Avatar billede sonalias Seniormester
29. april 2015 - 10:47 #10
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" />
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester