2011-09-09 45 views
1

我正在開發一個VB.NET應用程序,我們將在用戶登錄時運行我們的公司網絡,這將設置用戶的環境,這將包括開始菜單。刪除用戶中的文件夾開始菜單程序

我有一個方法試圖刪除位於用戶的開始菜單\程序文件夾(C:\用戶{用戶} \應用程序數據\漫遊\微軟\ Windows \開始菜單\程序)中的所有文件和文件夾,我們環境是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 

當執行這種方法,我收到一個例外:

Access to the path 'Maintenance' is denied. 

位於用戶程序文件夾中的3級標準的應用程序,管理工具,維護和啓動。我不包括啓動目錄,但希望將其他兩個刪除。

任何人都可以指向正確的方向,以便能夠刪除這些文件夾,我不介意它們是否在每次登錄時重新創建,我的腳本將在每次登錄時運行,並且每次都會重新創建開始菜單時間。

回答

1

只有當您的應用程序以管理員模式運行時,才能刪除此文件夾,因爲這是用戶數據的重要組成部分。

所以,你的應用程序可以做的唯一途徑是在管理員模式下運行的要求:

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

檢查其引發異常的文件夾,並檢查它的權利。

+0

我已經讓我的應用程序在app.manifest文件中的requireAdmin中運行,因爲我們在公司網絡中,因此我們禁用了UAC,並且不希望再惹惱我們的用戶,我們必須這樣做。有什麼方法隱藏所有用戶快捷方式嗎? – Lima

+0

@Lima檢查發生異常的文件夾,並檢查其權限。 – VMAtm

相關問題