2011-07-26 32 views
1

我想通過C#設置某些擴展的默認圖標。但這給了我錯誤 - >安全異常未處理寫入註冊表本地機器錯誤

RegistryKey FileExt = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Classes", RegistryKeyPermissionCheck.ReadWriteSubTree); 

我該怎麼做?

回答

1

嘗試以管理員身份運行您的應用程序。

+0

由於這是工作。我可以請求以C#作爲管理窗口運行嗎? – sczdavos

+0

檢查此問題http://stackoverflow.com/questions/2818179/how-to-force-c-app-to-run-as-administrator-on-windows-7 – maniacneron

0

我想這是在Windows Vista或7

您可能需要擁有更高權限更改註冊表中的值。即使具有管理權限的用戶在程序可以執行此操作之前也會彈出UAC彈出窗口以詢問權限。

看看這question

這是一個關於獲得提升特權的codeproject article

1

也許您用於登錄機器的用戶沒有權限訪問或修改註冊表。嘗試使用管理員帳戶運行代碼,看看會發生什麼。同樣如果沒有用戶登錄相同的錯誤可能會發生例如檢查this

0

試試這個方法,而不是你的:

public RegistryKey OpenSubKey(
    string name, 
    bool writable 
) 

也許true足夠;-)

Registry.LocalMachine.OpenSubKey("SOFTWARE\\Classes", true);