微软总是喜欢先发布一个半成品,WinUI也不例外。早期的WinUI甚至无法做到权限提升,直到现在你去搜索相关内容,排行靠前的依旧是抱怨这一点的issue。
不过好在这个问题在WindowsAppSDK v1.1中得到解决,虽然好像没什么人提到这一点。
做法
在WindowsAppSDK支持权限提升后,可以像其他C#项目那样在WinUI中提升权限。具体做法如下:
在
app.manifest
中<assemblyIdentity>
当中添加:1
2
3
4
5
6
7<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>以代码形式打开
Package.appxmanifest
,在<Capabilities>
中添加:1
<rescap:Capability Name="allowElevation" />
这样,WinUI项目就可以以管理员身份运行。