簡體   English   中英

在注冊表中編輯環境變量

[英]Edit environment variable in registry

我想從注冊表中讀取所有環境變量,並在Visual Studio 2010 Express中使用C#為它設置一個新值。

因此,我讀取了本地計算機的子項:

SYSTEM\CurrentControlSet\Control\Session Manager\Environment

還有Path的值。
在讀取Path值時:

reg = Registry.LocalMachine.OpenSubKey(SUB_KEY_PATH, true);

我得到一個例外,我沒有許可。

因此,我在清單中設置了值:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

但是現在我無法編譯我的項目,因為ClickOnce不支持它。 如何編譯安全級別為requireAdministrator的項目? 我發現的一種解決方案是在沒有requireAdministrator級別的情況下進行編譯,然后更改myproject.exe.manifest中的值。 我是否正確,我總是必須將兩個文件(清單和exe文件)都復制到另一台計算機上才能正確運行? 是否可以通過編譯將信息放入exe文件?

如果要在安裝過程中提升高度,則不能使用ClickOnce。 那是設計選擇。 因此,您的選擇是:

  1. 使用標准安裝軟件包,該軟件包將允許您顯示UAC高程對話框。
  2. 修改用戶的PATH環境,而不是系統范圍的變量。 此選項與ClickOnce的每用戶哲學完全兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM