如何移除Flutter Windows应用中的runFullTrust权限?
移除Flutter MSIX包中的runFullTrust权限
针对你用Flutter msix包构建Win32应用MSIX安装包时默认带runFullTrust权限的问题,可以通过以下两种方法移除:
方法1:通过pubspec.yaml的msix配置指定权限
在项目的pubspec.yaml文件中,找到msix配置块,手动添加你实际需要的权限列表,不包含runFullTrust。msix包会根据你指定的权限生成清单,覆盖默认的权限设置。示例配置如下:
msix_config: display_name: YourAppName publisher_display_name: YourPublisher identity_name: com.yourcompany.yourapp # 只添加你需要的权限,比如网络访问等 capabilities: - internetClient - privateNetworkClientServer # 不要添加runFullTrust
修改后重新执行flutter pub run msix:create打包即可。
方法2:手动修改生成的AppxManifest.xml
如果上述方法不生效,可以直接修改打包过程中生成的清单文件:
- 先执行一次
flutter pub run msix:create,生成临时的MSIX项目文件,默认路径是build/windows/runner/msix - 打开该目录下的
AppxManifest.xml,找到包含runFullTrust的Capability节点,将其删除:<!-- 删除这一行 --> <Capability Name="runFullTrust" /> - 修改完成后,重新执行打包命令即可。
注意事项
- 确保你的应用确实不需要runFullTrust权限,比如没有调用需要高权限的Win32 API、不需要访问系统敏感资源等。如果移除后应用功能异常,说明你确实需要该权限,需要向微软商店提交对应的理由。
- 若使用方法2,每次重新生成临时文件后都需要重复修改,建议编写一个简单的脚本自动删除该节点,避免重复操作。
内容的提问来源于stack exchange,提问作者Muteeb Rehman
相关产品推荐
相关产品推荐

