无法在UWP appx启动时停止服务

时间:2017-07-20 13:23:16

标签: service uwp

我使用makeappx工具创建了appx。安装appx后,在启动时我添加了以下代码来停止服务:

ServiceController sc = new ServiceController("MyService");
    string servicestatus = sc.Status.ToString();
    if (servicestatus == "Running")
    {
     sc.Stop();
    }

在启动时,我发现服务没有停止并获得异常。但是当我从开始菜单运行相同的appx并以管理员身份运行时,我发现服务正在停止。我认为这个问题与admin previlages有关,因为我知道appx总是使用fulltrustprocess而不是adminprevilages启动。 如果我们可以停止appx发布本身的服务,那将会很有帮助。

1 个答案:

答案 0 :(得分:1)

这是可以预料的;如果您以普通用户身份启动CMD并尝试停止服务,您将获得拒绝访问:

C:\Users\Peter>net stop "Bonjour Service"
System error 5 has occurred.

Access is denied.

运行提升时,它可以工作:

C:\Users\Administrator>net stop "Bonjour Service"
The Xamarin Bonjour Service service is stopping.
The Xamarin Bonjour Service service was stopped successfully.

通过桌面桥转换的应用无法自动提升;用户必须这样做。