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

Service 无法在UWP appx启动时停止服务,service,uwp,Service,Uwp,我已经使用makeappx工具创建了appx。安装appx后,在启动时,我添加了以下代码以停止服务: ServiceController sc = new ServiceController("MyService"); string servicestatus = sc.Status.ToString(); if (servicestatus == "Running") { sc.Stop(); } 在启动时,我发现服务并没有停止并出现异常。但当我从“

我已经使用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 launch本身上停止服务,这将是非常有帮助的。

这是意料之中的;如果您以普通用户身份启动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.

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

谢谢您的输入,Peter。但我们能有办法自动提升应用程序吗?或任何解决方案,因为在启动时,我想卸载同样使用该服务的应用程序的桌面版本。我只能在服务停止时卸载它,而无法在服务运行时卸载。不,抱歉。UWP的主要价值主张之一是应用程序不能干扰系统。如果你想改变系统,你必须要求你的用户升级。