Dot-Net
.NET 的哪些部分需要管理權限才能執行?
框架的哪些部分要求使用者不僅僅是標準使用者?我問的原因是因為我正在嘗試編譯我們現有應用程序在遷移到 Windows 7 時可能出現的問題的列表。
現在,我自己可以想到一些事情:
- 寫入事件日誌
- 寫入 Current_User 範圍之外的系統資料庫項
- 獲取環境變數
- ETC…
我真的想要一個更完整的列表,到目前為止,我還沒有遇到一個體面的資源,其中列出了所有這些東西。
請注意,我不是在尋找提升現有應用程序權限的方法(可以通過使用清單來完成),我只是在程式碼中辨識可能導致問題的操作。
好吧,您的範例與 Windows 7 或 .NET 沒有任何關係。實際上,它們已經是“為 Windows NT 4.0 設計”徽標要求的一部分。如果您以非管理員使用者能夠在 NT、Win2k 或 XP 上執行的方式編寫應用程序,那麼它在 Vista/Win7 上也能正常工作。
當您在 x64 系統上執行您的軟體時,還有另一個常見的陷阱(但這也不是特定於 Win7,而是適用於例如 Win2003 Server x64 或 Win XP x64):如果您使用的是本機 32 位程式碼,例如呼叫本機 DLL 或與程序內組件進行 COM 互操作),請確保在 Visual Studio 項目設置中選擇“x86”作為平台目標,而不是“任何 CPU”。否則您的應用程序將作為 64 位程序執行,並且您不能在同一程序中混合 32 位和 64 位程式碼,因此您會遇到錯誤。
當然,因為它一直是最佳實踐,所以使用
Environment.GetSpecialFolders而不是硬編碼路徑。