我使用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发布本身的服务,那将会很有帮助。
答案 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.
通过桌面桥转换的应用无法自动提升;用户必须这样做。