2014-04-01 8 views
5

Mam projektu WPF w Visual Studio 2013, ten projekt ma dwa przyciski. Pierwszy przycisk mówi Start Service, a drugi mówi Stop Service. Po uruchomieniu programu Visual Studio jako administrator przyciski działają. Ale kiedy otwieram program Visual Studio bez zastrzeżeń, pojawia się wyjątek InvalidOperationException.Jak wymusić mój projekt w Visual Studio 2013, aby zawsze działał jako Administrator?

Jak wymusić rozpoczęcie mojego projektu z uprawnieniami, gdy Visual Studio nie działa jako administrator?

dodałem app.manifest do mojego projektu i zmian dla

poziomie = "requireAdministrator" poziomem UIAccess = "false" />

ale to nie działa.

Aby uruchomić lub zatrzymać moją usługę, używam ServiceController.

+1

możliwe duplikat [? Jak zmusić mój program C# WinForm Uruchom jako administrator na dowolnym komputerze] (http://stackoverflow.com/questions/3598824/how -to-force-my-c-sharp-winform-program-uruchom-jako-administrator-na-dowolnym-komputerze) – Dmitry

+0

To rozwiązanie nie działa dla mojego. – CampDev

+0

Twój komentarz nie rozwiązał problemu. –

Odpowiedz

2

To jest ciekawe i wydaje się, trzeba zmienić uprawnienia jak działa projekt, spróbuj wykonać następujące

  • iść do projektu właściwości> Zabezpieczenia
  • umożliwić kliknij-raz ustawienia zabezpieczeń i wybierz pełne zaufanie aplikacja

Więcej infor w ten link WPF security

5

As Torben M . Philippsen wspomina w swojej article:

  • W Visual Studio 2010 (myślę, że to samo odnosi się do VS2008, ale jej nie testowane) kliknij prawym przyciskiem myszy projekt i wybrać opcję „Dodaj nowy element”
  • Dodaj plik manifestu aplikacji - domyślna nazwa będzie app.manifest.
  • Wewnątrz pliku manifestu, zmienić istniejącą konfigurację z

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

    Aby

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
    
  • Zapisz i zamknij plik manifestu.

  • Pamiętaj, że Twój plik manifestu nie pojawi się w Twoim rozwiązaniu. Aby to naprawić, w eksploratorze rozwiązań kliknij przycisk "pokaż wszystkie pliki".
  • Ważne: Kliknij plik manifestu prawym przyciskiem myszy i dodaj go do projektu - potrzebujemy tego, aby VS mógł użyć pliku manifestu podczas kompilowania naszej aplikacji.
  • Kliknij prawym przyciskiem myszy Twój projekt i wybierz "Właściwości".
  • Na karcie zgłoszenia, dolny odcinek, wybierz plik manifestu:

Selecting manifest file

oczywisty wybór plików

  • skompilować i uruchomić aplikację. Jeśli ustawienia UAC są włączone, zostanie wyświetlony monit o zezwolenie aplikacji na uruchamianie w trybie podwyższonym.

  • Czasami może się przydać, aby sprawdzić, czy Twoja aplikacja działa w trybie podwyższonym, czy też nie. Może znajdziesz to codesnippet przydatne:

    WindowsPrincipal myPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); 
    if (myPrincipal.IsInRole(WindowsBuiltInRole.Administrator) == false) 
    { 
        //show messagebox - displaying a messange to the user that rights are missing 
        MessageBox.Show("You need to run the application using the \"run as administrator\" option", "administrator right required", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
    } 
    else 
    { 
        MessageBox.Show("You are good to go - application running in elevated mode", "Good job" ,MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
    
Powiązane problemy