Nejdå, inte helt ensam och att strunta i UAC är inte hållbart
Registret
För mitt program har jag en registernyckel under Local_Machine och en under Current_User. Brukar låta mitt installationsprogram skapa upp dessa.
Installationsprogrammet kör med adminisrationsrättigheter:
Local_Machine: skriva och läsa
Current_User. skriva läsa
Mitt program kräver inte att man kör med administratörsrättigheter så därför gäller:
Local_Machine: läsa
Current_User. skriva läsa
Så du bör du aldrig låta ditt program skriva i Local_Machine-delen av registret.
Filsystemet
När det gäller att skriva till disk så bör du undvika att skriva till systemmappar. Användarspecifik data skriver jag till %AppData% (C:\Users\<username>\AppData) och gemensamdata till %ProgramData% (C:\ProgramData).
Med .NET är det enkelt att komma åt rätt sökväg oavsett Windows-version med hjälp av 'Environment.SpecialFolder'. För att nå sökvägarna för lokala och gemensamma data kan du alltså skriva enligt följande:
Låter som vi tänker likadant.
Tänkte om det fanns några andra rekommenderade sätt att hantera UAC på, men då är det bara att köra på som jag gjort fram tills nu.
262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a