현재 작업중인 응용 프로그램의 디자인에서 데이터를 가져 와서 하드 드라이브에 저장하는 Windows 서비스에서 호스팅되는 WCF 서비스를 호출합니다. WCF 서비스와 상호 작용할 Windows 양식 응용 프로그램과 쌍을 이룹니다. 요구 사항 중 하나는 최종 사용자가 Forms 응용 프로그램을 통해 Windows 서비스를 다시 시작할 수 있어야한다는 것입니다.권한에 관계없이 Windows Forms 응용 프로그램이 Windows 서비스를 다시 시작하도록 허용하려면 어떻게해야합니까?
그래서 ServiceController 클래스를 사용하여이 작업을 수행 할 수 있다고 생각합니다.하지만 사용 권한은 어떻게됩니까? 나는 우리가 윈도우 앱이 관리자 권한으로 실행되고 서비스가 네트워크 서비스로 실행될 수 있다고 보장 할 수 없다고 생각한다.
상황을 커버하는 것으로 보이는 유일한 것은 다른 Windows 서비스가 실행 중이며 더 높은 권한을 가진 계정으로 설치 될 수 있으며 대상 서비스를 다시 시작할 수 있습니다.
하지만 특히 프로젝트가 지난 주에 베타 버전으로되어 있기 때문에 프로젝트에 그다지 복잡하지 않은 것을 추가하고 싶지 않습니다.
Forms 앱에 특정 컴패니언 서비스를 다시 시작하는 데 필요한 권한을 부여 할 수있는 방법이 있습니까?
후속 질문은 서비스와 동일한 컴퓨터가 아닌 서버에서 서비스가 실행되도록하는 행 아래입니다. Forms 앱이 서비스를 다시 시작하도록 허용하는 것이 비실용적입니까? 그렇다면 기능을 절단하는 것을지지 할 수도 있습니다 ...
아, 대상 플랫폼은 WinXP 및 Win7 with .NET4입니다.
이 방법이 적합하지만 SetACL을 사용하여 서비스에 대한 사용 권한을 설정하는 것이 더 쉽습니다. 예를 들면 다음과 같습니다. http://helgeklein.com/setacl/examples/managing-printer-service-and-share-permissions-with-setacl-exe/ –
감사합니다. – CodeRedick