เริ่ม Visual Studio ในฐานะผู้ดูแลระบบบน Windows 8 เสมอ


37

เมื่อใดก็ตามที่ฉันเริ่ม Visual Studio 2012 ใน Windows 8 จะต้องมีสิทธิ์ผู้ดูแลระบบในการเข้าถึงข้อมูลเมตาของ IIS และตรวจแก้จุดบกพร่องแอปพลิเคชันเว็บใน IIS

ถ้าฉันปิด UAC ฉันจะไม่สามารถเปิดโปรแกรมจำลองการทำงานของ Windows 8 ได้!

ไม่มีใครรู้ว่าฉันจะทำให้มันหยุดได้โดยไร้สาระเรื่องความปลอดภัยและแค่ให้ฉันทำงานต่อไป?


1
การใช้ซอฟต์แวร์ที่ยังไม่เผยแพร่ในแพลตฟอร์มที่ยังไม่เผยแพร่ ... คุณอาจต้องทนกับเรื่องไร้สาระ
— อดัมคิง


ตอนนี้อยู่ใน MSDN แล้ว
— Boomerangertanger

คุณลองสร้างทางลัดแล้วกำหนด run เป็นผู้ใช้ให้กับทางลัดนั้นหรือไม่?
— tumchaaditya

1
ค่าเริ่มต้นคือการทำงานไม่ได้เป็นผู้ดูแลระบบ
— Boomerangertanger

คำตอบ:


27
  1. คลิกขวาที่ไอคอน "Metro" สำหรับ Visual Studio 2012

  2. คลิก "เปิดไฟล์ที่ตั้ง" มันจะนำคุณไปสู่เดสก์ท็อป windows แบบคลาสสิกพร้อมทางลัดสำหรับ Visual Studio

  3. คลิกขวาบนทางลัดนั้นแล้วไปที่ "คุณสมบัติ"

  4. คลิก "ขั้นสูง"

  5. ทำเครื่องหมายที่ "Run as Administrator" แล้วคลิกตกลง

นับจากนี้เป็นต้นไปมันจะเปิดใช้งานในฐานะผู้ดูแลระบบเสมอด้วยสิทธิ์ระดับสูง

คุณจะต้องทำสิ่งนี้กับทางลัดทุกอย่างที่คุณมีใน Visual Studio

นั่นคือถ้าคุณปักหมุด Visual Studio ไว้ที่ทาสก์บาร์แล้ว

  1. คลิกขวาที่ไอคอน

  2. คลิกขวา 'Visual Studio 2012'

  3. จากนั้นดำเนินการต่อจากขั้นตอนที่ 3 ด้านบน


3
คุณทราบวิธีเปิดใช้ 'Run as Admin' เป็นค่าเริ่มต้นหรือไม่ ใน Windows 8 ดูเหมือนว่าพวกเขาจะเรียกใช้ในฐานะผู้ใช้เท่านั้นมีเหตุผลสำหรับผู้ใช้ แต่สำหรับ devs เราจะได้รับกล่องโต้ตอบ 'จำเป็นต้องมีการอนุญาต' ที่ไร้ประโยชน์ตลอดเวลาที่คุณสามารถคลิกผ่านได้

1
ฉันยังไม่รู้วิธีในการสร้างการตั้งค่าแบบ 'เรียกใช้ในฐานะผู้ดูแลระบบ' เมื่อเรียกใช้โซลูชันที่ตรึงหรือล่าสุดจากแถบงาน

9
นี่ไม่ใช่คำตอบที่มีประสิทธิภาพ ตัวอย่างเช่นถ้าคุณเปิด Visual Studio โดยการเปิดโครงการ / โซลูชันแทนการใช้ทางลัด devenv.exe จะไม่ทำงานในระดับสูง / ผู้ดูแลระบบ
— nathanchere

4
คำตอบของ FerretallicA เป็นคำตอบที่ถูกต้อง
— Jason Kleban

1
@ uosɐſ ฉันเห็นด้วย - นี่ไม่ใช่คำตอบเพราะมันใช้ได้เฉพาะกับโปรแกรมที่ไม่ได้เปิดไฟล์. sln ที่ต้องการ VS2012 โดยตรง ตรวจสอบคำตอบ FerretallicA
— BritishDeveloper

51

วิธีเดียวที่ฉันทราบซึ่งทำให้มั่นใจได้ว่าจะเปิดในฐานะผู้ดูแลระบบเสมอ (รวมถึงเมื่อคุณเปิดจากการเชื่อมโยงไฟล์รายการข้าม ฯลฯ ) คือ:

  1. ค้นหาdevenv.exeไฟล์ใน Explorer เช่นของฉันอยู่C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\

  2. คลิกขวาที่ devenv.exe แล้วเลือก "แก้ไขปัญหาความเข้ากันได้"

  3. เลือก "แก้ไขปัญหาโปรแกรม"

  4. เลือก "โปรแกรมนี้ต้องการสิทธิ์เพิ่มเติม"

คุณจะต้องปล่อยให้มันเปิด VS ก่อนที่มันจะช่วยให้คุณคลิกถัดไป แต่ก็เสร็จแล้ว

น่ารำคาญอย่างยิ่งที่คุณไม่สามารถทำได้ผ่านกล่องโต้ตอบคุณสมบัติปกติอีกต่อไป เหมือนกับว่า Microsoft กำลังออกนอกเส้นทางเพื่อให้มั่นใจว่า Windows 8 จะกลายเป็นคนแปลกแยกไปมากเท่าที่จะมากได้ ...


2
การแก้ไขปัญหาความเข้ากันได้นี้เป็นวิธีที่จะไป - ดูแลทางลัดและรายการที่ถูกตรึงในครั้งเดียว! นี่ควรเป็นคำตอบที่ทำเครื่องหมายไว้
— Jason Kleban

6

มีปัญหาเดียวกันเพื่อนร่วมทีมแนะนำวิธีแก้ปัญหาที่ใช้งานได้สำหรับฉันคือการติดตั้งVSCommands สำหรับ Visual Studio 2012จากนั้นเปิดการกำหนดค่า VSCommands ตั้งค่าการเพิ่มประสิทธิภาพ IDE - ทั่วไป - เริ่มต้น Visual Studio ด้วยสิทธิ์ระดับสูงเสมอ


5

ฉันโพสต์เกี่ยวกับเรื่องนี้ในStack Overflowก่อนที่จะค้นหาคำถามนี้จากนั้นลองทุกคำตอบที่แนะนำที่นี่ ฉันเริ่มพบปัญหาบางอย่างทันที

เมื่อใช้งาน VS2012 ที่มีสิทธิ์ยกระดับฉันไม่สามารถลากและวางไฟล์ลงใน Explorer ได้อีกต่อไปซึ่งฉันถือว่าเป็นเพราะ Explorer ไม่ได้ทำงานด้วยสิทธิ์ยกระดับ

จากนั้นหลังจากฉันใช้ VSCommands เพื่อเรียกใช้ Visual Studio ด้วยสิทธิ์ระดับสูงฉันไม่สามารถเปิดไฟล์ที่เกี่ยวข้องกับ Visual Studio ได้นอกเหนือจากไฟล์โซลูชันแล้วโดยคลิกสองครั้งใน Explorer Visual Studio จะเปิดขึ้น แต่จากนั้นฉันจะได้รับข้อผิดพลาดThere was a problem sending the command to the program.และไม่สามารถเปิดได้

นี่ทำให้ฉันต้องใช้กล่องโต้ตอบเปิดไฟล์หากฉันต้องการเปิดไฟล์ที่ไม่ใช่โซลูชัน / โครงการ

แม้จะไม่มี UI ที่จะปิด UAC เหมือนในอดีตที่ฉันเห็นอย่างน้อยคุณก็ยังสามารถทำได้ผ่านรีจิสทรี กุญแจสำคัญในการแก้ไขคือ:

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

หลังจากเปลี่ยน Windows นี้จะแจ้งให้คุณเริ่มต้นใหม่ เมื่อรีสตาร์ทแล้วคุณจะกลับไปที่ทุกสิ่งที่ทำงานด้วยสิทธิ์ผู้ดูแลระบบหากคุณเป็นผู้ดูแลระบบ ปัญหาที่ฉันรายงานข้างต้นก็หายไปเช่นกัน


ขอบคุณสำหรับคำตอบอย่างละเอียด น่าเสียดายที่แอพ Metro เช่น SkyDrive จะไม่ทำงานหากไม่ได้เปิด UAC ดังนั้นฉันจึงกลัวว่านี่ไม่ใช่วิธีแก้ปัญหา วิธีเดียวคือตั้ง "Run as admin" ในการตั้งค่าความเข้ากันได้ของ devenv.exe ขอบคุณ
— Boomerangertanger

ฉันใช้ SkyDrive รุ่น 16.4.6010.0727 และมันทำการซิงค์ไฟล์ของฉันได้ดี ฉันไม่มีไอคอนซ้อนทับอีกต่อไปเมื่ออยู่ในโฟลเดอร์ SkyDrive แต่การซิงค์ยังคงใช้งานได้ สำหรับแอพเมโทร ... ฉันยังคงชัดเจน ไม่เพียง แต่ฉันไม่ชอบส่วนหนึ่งของ win8 แต่มันทำให้ชีวิตของฉันลำบากขึ้นอย่างที่คุณเห็นด้วย UAC ดูเหมือนว่ามันจะเป็นเป้าหมายของพวกเขาด้วย win8 & vs2012
— Brian Surowiec

ฉันไม่แน่ใจว่าทำไมคุณถึงไม่ชอบรถไฟฟ้าใต้ดินมันเป็นเพียงแค่ไอคอนและแอพโหลดมากมายเช่น Windows 1.0 ถึง Windows 7 ยกเว้นไอคอนที่มีความกว้างกว่าและแอปเต็มหน้าจอ ฉันไม่รู้ว่าทำไมชีวิตของคุณถึงยากขึ้นเมื่อคุณกดเริ่มและพิมพ์อะไรบางอย่างรายการจะปรากฏขึ้นและคุณกด Enter เหมือนปกติ
— Boomerangertanger

4

ตัวเลือกที่ 1 - ตั้งค่า VSLauncher.exe และ DevEnv.exe ให้เรียกใช้ในฐานะผู้ดูแลเสมอ

หากต้องการให้ Visual Studio ทำงานเป็นผู้ดูแลระบบเสมอเมื่อเปิดไฟล์. sln ใด ๆ :

  1. C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exeนำทางไปยัง
  2. คลิกขวาบนVSLauncher.exeและเลือกการทำงานร่วมกันแก้ปัญหา
  3. เลือกโปรแกรมการแก้ไขปัญหา
  4. ทำเครื่องหมายโปรแกรมต้องได้รับอนุญาตเพิ่มเติมและกดปุ่ม Next
  5. คลิกปุ่มทดสอบโปรแกรม ...เพื่อเปิด VS
  6. คลิกถัดไปจากนั้นกดใช่บันทึกการตั้งค่าเหล่านี้สำหรับโปรแกรมนี้จากนั้นคลิกปุ่มปิด

หากต้องการให้ Visual Studio ทำงานเป็นผู้ดูแลระบบเสมอเมื่อเปิด Visual Studio โดยตรงให้ทำเช่นเดียวกันกับไฟล์ DevEnv.exe ไฟล์เหล่านี้อยู่ที่:

Visual Studio 2010

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

Visual Studio 2012

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

Visual Studio 2013

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

Visual Studio 2015

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

Visual Studio 2019

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

ตัวเลือกที่ 2 - ใช้ VSCommands extension สำหรับ Visual Studio

ติดตั้งส่วนขยาย VSCommandsฟรีสำหรับ Visual Studio (อยู่ในVisual Studio Extensions Gallery ) จากนั้นกำหนดค่าให้ Visual Studio เริ่มต้นด้วยสิทธิ์ผู้ดูแลระบบเสมอโดยไปที่เครื่องมือ -> VSCommands -> ตัวเลือก -> การเพิ่มประสิทธิภาพ IDE -> ทั่วไปและทำเครื่องหมายAlways start Visual Studio with elevated permissionsและคลิกปุ่มบันทึก

หมายเหตุ: VSCommands ไม่สามารถใช้ได้สำหรับ VS 2015 ในขณะนี้ แต่เว็บไซต์ของพวกเขาบอกว่าพวกเขากำลังทำงานเพื่ออัปเดตให้รองรับ VS 2015

ความคิดเห็นของฉัน

ฉันชอบตัวเลือกที่ 2 เพราะ:

  • มันยังช่วยให้คุณสามารถปิดฟังก์ชั่นนี้ได้อย่างง่ายดาย
  • VSCommands มาพร้อมกับคุณสมบัติที่ยอดเยี่ยมมากมายดังนั้นฉันจึงติดตั้งมันเสมอ
  • มันง่ายกว่าที่จะทำมากกว่าตัวเลือก 1

vscommands.squaredinfinity.comดูเหมือนจะไม่พร้อมใช้งานสำหรับ VS 2015
— Naomi

1
@ นาโอมิใช่ฉันสังเกตเห็นว่าในโพสต์ของฉัน พวกเขากล่าวว่าพวกเขากำลังดำเนินการอยู่ดังนั้นหวังว่าพวกเขาจะมีเวอร์ชั่นที่รองรับ VS 2015 ในปลายปีนี้
— deadlydog

BTW ฉันลองตัวเลือกแรกเมื่อวานนี้สำหรับตัวเรียกใช้ใน Windows 10 ของฉันและมันไม่ทำงาน VS ยังคงเริ่มตามปกติ ฉันยังไม่สามารถเปลี่ยนทางลัดคุณสมบัติขั้นสูง - พวกเขาถูกปิดการใช้งานสำหรับฉัน
— นาโอมิ

@Naomi hmmm คุณเข้าสู่ระบบในฐานะผู้ดูแลระบบบนคอมพิวเตอร์ของคุณหรือไม่?
— deadlydog

3

สำหรับฉันทุกวิธีมีข้อบกพร่องที่สำคัญ วิธีเดียวที่ดีที่ฉันเกิดขึ้นคือการแฮกข้อมูลในรีจิสทรี คุณอาจต้องการอ่านโพสต์ของฉันเกี่ยวกับปัญหานี้ ( http://daniellang.net/always-run-visual-studio-as-administrator-in-windows-8/ ) หรือเพียงแก้ไขโดยตรง:

ไปHKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersและเพิ่มรายการที่มีชื่อที่และความคุ้มค่าC:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe RUNASADMINสิ่งนี้จะทำให้การเรียกใช้ VS เป็นผู้ดูแลระบบ


ด้วยเหตุผลบางอย่างสิ่งนี้ไม่ได้ผลสำหรับฉัน แต่การเพิ่มรายการเข้าHKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersแทนที่กลอุบาย
— Piotr Szmyd

1

บนเครื่อง Win8 ของฉันกับ VS Express 2013 ปัญหากำลังเกิดขึ้นเมื่อฉันเก็บโครงการของฉันในเอกสารของฉัน ฉันเคยเห็นสิ่งนี้ในเครื่อง Win7 ที่มี VS เก่าเช่นกัน เมื่อฉันสร้างโครงการใหม่ / ย้ายไปยังตำแหน่งอื่น (เช่น C: / Programming /) มันทำงานได้ตามที่ควร!


0

วิธีแก้ปัญหาที่เพื่อนร่วมงานบอกฉันเกี่ยวกับการสร้างงาน Task Scheduler สำหรับโซลูชันแต่ละรายการของคุณ งานเปิดตัว Visual Studio ด้วยบรรทัดคำสั่งที่โหลดโครงการของคุณ

นี่คือค่าที่คุณต้องตั้งค่า:

  • ให้ชื่องานที่สะท้อนถึงโครงการที่กำลังเปิด (คุณจะใช้ในภายหลัง)
  • ทำงานด้วยสิทธิพิเศษสูงสุด
  • ทำงานเฉพาะเมื่อผู้ใช้เข้าสู่ระบบ
  • สร้างการกระทำ:
    • การดำเนินการ: เริ่มโปรแกรม
    • โปรแกรม / สคริปต์: "Visual C: \ Program Files (x86) \ Microsoft Visual Studio [xx] .0 \ Common7 \ IDE \ devenv.exe" (แทนที่ [xx] ด้วย VS เวอร์ชันของคุณ)
    • อาร์กิวเมนต์: / Project "[เส้นทางแบบเต็มไปยังโซลูชันของคุณ] .sln"
  • เงื่อนไข:
    • ยกเลิกการเลือกรายการทั้งหมด
  • การตั้งค่า:
    • ทำเครื่องหมายอนุญาตให้เรียกใช้งานตามความต้องการ
    • ยกเลิกการเลือกรายการอื่น ๆ ทั้งหมด
    • กฎการเรียกใช้งาน: อย่าเริ่มต้นอินสแตนซ์ใหม่ (ไม่บังคับ)

ตกลงตอนนี้คุณสามารถทดสอบได้โดยคลิกขวาที่งานและเรียกใช้ ถ้ามันใช้งานได้ดีแล้วก็สร้างทางลัดไปยังที่ใดที่หนึ่ง

คลิกขวาที่คุณต้องการทางลัดและเลือกสร้างทางลัด นี่คือบรรทัดคำสั่งที่จะใส่ในทางลัด:

C: \ Windows \ System32 \ schtasks.exe / run / tn "[ชื่องานจากด้านบน]"

ตอนนี้คุณสามารถคลิกสองครั้งที่ทางลัดเพื่อเรียกใช้โซลูชันของคุณในฐานะผู้ดูแลระบบโดยไม่เรียกใช้ UAC

แก้ไข: หลังจากที่ฉันเขียนข้างต้นฉันพบบทความใน tomssl.com ซึ่งให้บริการโซลูชั่นที่ยืดหยุ่นมากขึ้น (ไม่จำเป็นต้องสร้างงานสำหรับทุกโซลูชัน) มันเกี่ยวข้องกับการตั้งค่าเริ่มต้นมากขึ้น แต่ใช้งานได้ง่ายขึ้นในระยะยาว

เรียกใช้ Visual Studio ในฐานะผู้ดูแลเสมอโดยไม่แจ้งให้ UAC

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.