前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >添加/删除/读写c盘文件——c#

添加/删除/读写c盘文件——c#

作者头像
vv彭
发布2021-01-18 10:12:47
2.7K0
发布2021-01-18 10:12:47
举报
文章被收录于专栏:c#学习笔记

一、前言:

  有时候我们为自己的程序添加配置文件,如tet、ini、xml等文件,又或者保存软件运行时的日志

  当我们把软件打包后,默认安装在c盘,而配置文件也会跟随生成在安装目录下

  此时你会发现,配置文件无法生成/修改

  这是因为操作c盘文件需要管理员身份

二、有两种方法可以达到目的,一种是修改安装后的软件属性,另一种是修改打包前的程序属性

方法一:修改安装后的软件属性

  步骤:1.右键软件选择属性

2.选择兼容性目录栏

     3.勾选以管理员身份运行此软件

总结:此方法操作简单,不用重新打包,对只有一次安装该软件比较友好,但如果需要多次安装,就显得很繁琐,没安装一次都要去修改一次,发行 给别人不推荐

方法二:在vs修改打包前的程序属性

步骤:1.查看自己项目的Properties是否有app.manifest,如果有,直接跳到第3步

2.如果没有第1步所说的文件,则右键项目——>属性——>安全性——>勾选启动ClickOnce安全设置选项

3.双击打开Properties下的app.manifest文件,按照按照注释把requestedExecutionLevel 节点的 level="asInvoker"

替换成level="requireAdministrator" 即可

     其中权限解析如下:

        (1)asInvoker 当前权限,可以理解为只有一般用户的权限;         (2)requireAdministrator 管理员权限,如果运行此程序的账户没有管理员权限则直接不运行;         (3)highestAvailable 用户所能拿到的最高权限,如果用户不是管理员也会运行。

     下图是修改后的截图:

     4.把步骤2的ClickOnce取消掉:右键项目——>属性——>安全性——>取消勾选启动ClickOnce安全设置选项

      如果不取消,会报错误:“ClickOnce 不支持请求执行级别“requireAdministr”“

总结:此方法从根部解决问题,虽然繁琐,而且需要重新打包,但是可以一劳永逸

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档