簡體   English   中英

您可以強制 Visual Studio 在 Windows 8 中始終以管理員身份運行嗎?

[英]Can you force Visual Studio to always run as an Administrator in Windows 8?

在 Windows 7 中,您可以進入程序兼容性設置並勾選始終以管理員身份運行。 Windows 8 中是否有類似的選項?

我一直在我的機器上禁用 UAC,並且在我的 Windows 8 升級后也這樣做了,或者我是這么認為的。 事實證明,沒有off選項,只能關閉通知。

這意味着盡管在管理員組中,但沒有任何內容以管理員身份運行。 當我嘗試調試(附加到進程,而不是F5 )時,我需要繼續關閉並重新打開我的控制台\Visual Studio,這非常令人沮喪。

我需要記住采取額外步驟以管理員身份打開它,或者在我第一次去調試時告訴它關閉並重新打開,這真的很煩人。

在 Windows 8、Windows 10 和 Windows 11 中,您必須右鍵單擊devenv.exe並選擇“疑難解答兼容性”。

  1. 選擇“故障排除程序”
  2. 勾選“程序需要額外權限”
  3. 點擊下一步”
  4. 單擊“測試程序...”
  5. 等待程序啟動
  6. 點擊下一步”
  7. 選擇“是,保存此程序的這些設置”
  8. 點擊“關閉”

如果,當您打開 Visual Studio 時,它要求保存對 devenv.sln 的更改,請參閱此答案以禁用它:

禁用 Visual Studio devenv 解決方案保存對話框


如果您改變主意並希望撤消“以管理員身份運行”兼容性設置,請在此處查看答案: How to Fix Unrecognized Guid format in Visual Studio 2015

在查看超級用戶后,我發現了這個問題,它解釋了如何使用開始屏幕上的快捷方式執行此操作。 同樣,當 Visual Studio 固定到任務欄時,您也可以這樣做。 在任一位置:

  1. 右鍵單擊 Visual Studio 圖標
  2. 轉到Properties
  3. Shortcut tab下選擇Advanced
  4. 勾選Run as administrator

在管理員模式下設置默認操作

與 Windows 7 不同,這僅在您從更改的快捷方式啟動應用程序時才有效。 更新兩個 Visual Studio 快捷方式后,當您從資源管理器打開解決方案文件時,它似乎也可以工作。

更新警告:看起來以提升的權限運行 Visual Studio 的主要缺陷之一是因為資源管理器也沒有與它們一起運行,因此您無法將文件拖放到 Visual Studio 中進行編輯。 您需要通過文件打開對話框打開它們。 你也不能雙擊任何與 Visual Studio 關聯的文件並在 Visual Studio 中打開它(除了看起來的解決方案),因為你會收到一條錯誤消息,指出There was a problem sending the command to the program. 一旦我取消選中始終以提升的權限開始(使用 VSCommands),我就可以直接打開文件並將它們放入 Visual Studio 的打開實例中。

The Daring 更新:盡管沒有像過去那樣關閉 UAC 的 UI,但至少我看到了,你仍然可以通過注冊表來關閉 UAC。 編輯的關鍵是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA - DWORD 1-Enabled, 0-Disabled

更改此 Windows 后會提示您重新啟動。 重新啟動后,如果您是管理員,您將回到以管理員權限運行的所有內容。 我上面報告的問題現在也消失了。

注意在最近的 VS 版本(2015+)中,此擴展似乎不再存在/具有此功能。


您還可以下載 Squared Infinity 的 VS2012 的 VSCommands ,它具有將其更改為以管理員身份運行的功能(以及其他一些很酷的點點滴滴)

在此處輸入圖像描述

更新

可以使用Tools -> Extensions and Updates選擇Online並搜索vscommands從 Visual Studio 菜單欄中安裝命令,然后根據使用 2012 或 2013(或更高版本)選擇VSCommands for Visual Studio 20XX並下載並安裝.

  1. 在 Windows 8 開始菜單上選擇所有應用程序
  2. 右鍵單擊 Visual Studio 2010 圖標
  3. 選擇打開文件位置
  4. 右鍵單擊 Visual Studio 2010 快捷方式圖標
  5. 單擊高級按鈕
  6. 選中以管理員身份運行復選框
  7. 點擊確定

這是我對 SuperUser 上類似帖子的回答的副本:

選項 1 - 將 VSLauncher.exe 和 DevEnv.exe 設置為始終以管理員身份運行

要讓 Visual Studio在打開任何 .sln 文件時始終以管理員身份運行:

  1. 導航到C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 右鍵單擊VSLauncher.exe並選擇Troubleshoot compatibility
  3. 選擇疑難解答程序
  4. 勾選該程序需要額外的權限,然后點擊下一步。
  5. 單擊“測試程序...”按鈕以啟動 VS。
  6. 單擊下一步,然后單擊是,保存此程序的這些設置,然后單擊關閉按鈕。

要讓 Visual Studio在直接打開 Visual Studio 時始終以管理員身份運行,請對 DevEnv.exe 文件執行相同的操作。 這些文件位於:

視覺工作室 2010

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

視覺工作室 2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

視覺工作室 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

視覺工作室 2015

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe

視覺工作室 2017

C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS SKU]\Common7\IDE\devenv.exe

選項 2 - 為 Visual Studio 使用 VSCommands 擴展

為 Visual Studio 安裝免費的 VSCommands 擴展(它位於Visual Studio Extensions Gallery中),然后通過轉到 Tools -> VSCommands -> Options -> IDE Enhancements -> General 並將其配置為始終以管理員權限啟動 Visual Studio 並勾選Always start Visual Studio with elevated permissions然后單擊“保存”按鈕。

注意: VSCommands 目前不適用於 VS 2015,但他們的網站表示他們正在努力更新它以支持 VS 2015。

我的意見

我更喜歡選項 2,因為:

  • 它還允許您輕松關閉此功能。
  • VSCommands 帶有許多其他很棒的功能,所以無論如何我總是安裝它。
  • 它比選項1更容易做到。

當我在 Visual Studio 2012 旁邊安裝 Visual Studio 2010 時,VSCommands 對我不起作用並導致了問題。

經過一些實驗,我發現了訣竅:

轉到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers並添加一個名為"C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"和值"RUNASADMIN"的條目"RUNASADMIN"

這應該可以解決您的問題。 我也寫過博客

我知道這有點晚了,但我只是想出了如何通過修改(讀取,“黑客”)devenv.exe 文件的清單來做到這一點。 我應該先來這里,因為所述解決方案似乎更容易一些,並且可能更受 Microsoft 的支持。 :)

我是這樣做的:

  1. 在 VS 中創建一個名為“Exe Manifests”的項目。 (我認為任何版本都可以,但我使用的是 2013 Pro。另外,你給它起什么名字並不重要。)
  2. “添加現有項目”到項目中,瀏覽到 Visual Studio exe,然后單擊“確定”。 就我而言,它是“C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe”。
  3. 雙擊現在應該在項目中作為文件列出的“devenv.exe”文件。 它應該在資源編輯器中調出 exe。
  4. 展開“RT_MANIFEST”節點,然后雙擊該節點下的“1”。 這將在二進制編輯器中打開可執行文件的清單。
  5. 找到requestedExecutionLevel 標記並將“asInvoker”替換為“requireAdministrator”。 阿拉: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

您剛剛保存了添加到項目中的可執行文件的副本。 現在您需要備份原始文件並將修改后的 exe 復制到您的安裝目錄。

正如我所說,這可能不是正確的方法,但它似乎有效。 如果有人知道需要發生任何負面影響或必要的手腕拍打,請插話!

如果您像我一樣使用Total Commander ,您應該為 Total Commander 始終以管理員身份運行。 然后,您將能夠在同一個 SQL Server 管理實例中雙擊打開 sql 文件,或者雙擊打開任何 Visual Studio 文件而不打開多個實例。

此疑難解答程序將注冊表值添加到任何程序的 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,因此,如果您想直接編寫它,您可以。

我在EightForums( 選項8 )上找到了一種簡單的方法,在HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 下創建一個字符串值。 將名稱設置為程序的路徑,並將值設置為 ~RUNASDMIN。 下次打開程序時,它將以管理員身份打開

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN"

此外,您可以檢查兼容性故障排除

  • 右鍵單擊 Visual Studio > 選擇疑難解答兼容性。
  • 選擇故障排除程序。
  • 檢查程序需要額外的權限。
  • 單擊測試程序。
  • 稍等片刻,直到程序啟動。 點擊下一步。
  • 選擇是,保存此程序的這些設置。
  • 等待解決問題。
  • 確保最終狀態是固定的。 單擊關閉。

檢查詳細步驟,以及在Visual Studio 中始終以管理員身份打開 VS 的其他方法要求應用程序具有提升的權限

只需在 Program Files 目錄(或其他位置)中找到該程序。 右鍵單擊EXE文件,在底部的第二個選項卡上選中強制以管理權限運行該程序的復選框。 從現在開始,exe 文件的所有快捷方式都將以管理權限觸發:)

這些都不適合我。 我以管理員身份始終啟動它的方式是修改注冊表。

1. Just start regedit.exe.
2. Navigate to Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
3. Right Click New->String Value
4. Add C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.exe (or the correct path for your system)
5. Right Click on this entry and select Modify.
6. Add for Value Data: ~ RUNASADMIN.

全部完成。

如果項目的應用程序清單指定了管理的requestedExecutionLevel ,Visual Studio 會自動提升自身,因此您只需對其進行編輯。 Visual Studio 將檢測到這一點,並在需要時以管理員身份重新啟動。

暫無
暫無

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

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