2011-09-09 3 views
1

사용자 환경을 설정할 회사 네트워크에서 사용자 로그인시 실행할 VB.NET 응용 프로그램을 개발 중입니다. 여기에는 시작 메뉴가 포함됩니다.사용자의 폴더 삭제 시작 메뉴 프로그램

사용자의 시작 메뉴 \ 프로그램 폴더 (C : \ Users \ user \ AppData \ Roaming \ Microsoft \ Windows \ 시작 메뉴 \ 프로그램)에있는 모든 파일과 폴더를 삭제하려고 시도하는 방법이 있습니다. 유지 보수를 3 표준 응용 프로그램, 관리 도구를 사용자의 프로그램 폴더에 위치한

Access to the path 'Maintenance' is denied. 

하고, 시작 : 환경은 윈도우 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 

, 나는 예외를 수신하고 . 나는 시작 디렉토리를 제외하고 있지만 다른 두 개는 제거하고 싶습니다.

누구나 올바른 방향으로이 폴더를 제거 할 수 있는지 알려줄 수 있습니까? 로그인 할 때마다 다시 만들어지면 상관 없습니다. 스크립트는 로그인 할 때마다 실행되고 각각 시작 메뉴가 다시 생성됩니다. 시각.

답변

1

이 폴더는 사용자 데이터의 중요한 부분이기 때문에 응용 프로그램이 관리자 모드에서 실행될 경우에만 제거 할 수 있습니다.

How do I force my .NET application to run as administrator?

이 예외가 발생되는 폴더를 확인하고 그것에 대한 권리를 확인 :

그래서 응용 프로그램이 할 수있는 유일한 방법은 관리자 모드에서 요청 실행이다.

+0

app.manifest 파일의 requireAdmin에서 이미 내 응용 프로그램을 실행했지만 우리는 회사 네트워크에 있으므로 UAC를 사용할 수 없으며 더 이상 사용자를 괴롭히지 않으려 고합니다. 모든 사용자 바로 가기를 숨길 수있는 방법이 있습니까? – Lima

+0

@Lima 예외가 발생한 폴더를 확인하고 이에 대한 권한을 확인하십시오. – VMAtm