windows - Slet mapper i brugere Start Menu \ Programmer

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg udvikler en VB.NET applikation, som vi kører ved bruger login på vores virksomheds netværk, der vil sætte brugerens miljø op, dette vil inkludere startmenuen.


Jeg har en metode, der forsøger at slette alle filer og mapper i brugerens startmenu \ Programmer-mappe (C: \ Users {user} \ AppData \ Roaming \ Microsoft \ Windows \ Startmenu \ Programmer), vores miljø er Windows 7.


Private Function deleteFolderFilesAndSubFolders(ByVal location As DirectoryInfo, Optional ByVal exclude As String = "") As Boolean
  For Each f As DirectoryInfo In location.GetDirectories
    For Each i As FileInfo In f.GetFiles
      i.Delete()
    Next
    f.Delete()
  Next
End Function


Når denne metode udføres, modtager jeg en undtagelse:


Access to the path 'Maintenance' is denied.


Placeret i brugerens Programmer-mappe er 3 standardprogrammer, Administrative værktøjer, Vedligeholdelse og Startup. Jeg udelukker startkataloget, men vil gerne have, at de to andre skal fjernes.


Kan nogen pege mig i den rigtige retning for at kunne fjerne disse mapper, har jeg ikke noget imod, hvis de genoprettes på hvert login, vil mit script køre på hvert login og vil genskabe startmenuen hver gang.

Bedste reference


Disse mapper kan kun fjernes, hvis din applikation køres i administratormode, da dette er vigtigt i brugerdataene.


Så den eneste måde din ansøgning kan gøre er at anmode om at køre i administrator tilstand:


Hvordan tvinger jeg min .NET-applikation til at køre som administrator?


Kontroller mappen, hvilken undtagelse der er rejst, og kontroller rettighederne på den.