返回信息流第一次学习用C#做了一个小项目,程序中一个值存放在配置文件中,程序可以读取也可以修改这个数值。工程打包后,在我自己的计算机上可以正常安装和运行。但是尝试在另外一台计算机上将生成的setup文件安装后,程序大部分功能都可运行,只是涉及到修改配置文件的地方出错,提示这个配置文件拒绝被访问。
不知道是什么原因。是配置文件的属性设置么?我已经在属性页将其readonly设为false。还是文件的路径问题呢?在代码中是直接通过
XmlDocument doc = new XmlDocument();
doc.Load(Application.ExecutablePath + ".config");
XmlElement ele = (XmlElement)node;
ele.SetAttribute("value", threshold);
doc.Save(Application.ExecutablePath + ".config");
这几条语句进行对配置文件的修改的。
不知道如何解决遇到的问题,求助各位大牛。怎样才能使程序在另外的计算机上安装完后,可以正常的读取和修改相应的配置文件??谢谢各位!
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3191同步于 2011/8/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
C#打包部署配置文件该如何设置
Eeyore
2011/8/1镜像同步25 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你创建的App.config文件,然后在这个文件设置一些必要的值?
这样你不用这么麻烦,不用自己用XmlDocument读的。
添加一个System.Configuration.dll引用,
using System.Configuration;
//...
ConfigurationManager.AppSettings["your key"].ToString()
我的程序打包后生成setup文件,如何能保证别人通过这个文件安装后程序可以正常运行?就是配置文件也可以正常的读和写呢?谢谢~
【 在 wangjianzhou 的大作中提到: 】
: 权限的问题,是否是管理员运行你的程序,还有配置文件要是改动了,程序一般要再次编译。
: --
恩,这种方法也试过,因为不知道为什么配置文件总被拒绝访问,担心是路径问题,就改成现在的方式写了,因为这样可以指明配置文件的路径。但是发现还是不能解决问题。怎样才能使得程序在其他计算机安装后也可以读写配置文件呢?
【 在 ahomer 的大作中提到: 】
: 你创建的App.config文件,然后在这个文件设置一些必要的值?
: 这样你不用这么麻烦,不用自己用XmlDocument读的。
: 添加一个System.Configuration.dll引用,
: ...................
【 在 Eeyore 的大作中提到: 】
: 我的程序打包后生成setup文件,如何能保证别人通过这个文件安装后程序可以正常运行?就是配置文件也可以正常的读和写呢?谢谢~
: 【 在 wangjianzhou 的大作中提到: 】
: : 权限的问题,是否是管理员运行你的程序,还有配置文件要是改动了,程序一般要再次编译。
: ...................
想办法提高程序运行权限,换台电脑,管理员登陆,看可行不?程序生成的文件夹以及下属文件可读可写,还有注意路径。
我尝试在测试的计算机上从安装路径找到该配置文件,然后手动修改其权限,允许普通用户读和写,然后就没有问题了。但是可以避免手动去设置配置文件的权限么?您说提高程序的权限,该如何来提高呢?怎样设置使得生成的文件夹和所有的文件具有读和写的权限呢?谢谢啦~~
【 在 wangjianzhou 的大作中提到: 】
: : 我的程序打包后生成setup文件,如何能保证别人通过这个文件安装后程序可以正常运行?就是配置文件也可以正常的读和写呢?谢谢~
: : 【 在 wangjianzhou 的大作中提到: 】
: : : 权限的问题,是否是管理员运行你的程序,还有配置文件要是改动了,程序一般要再次编译。
: ...................
我编程用的自己的本,是Vista。然后将生成的setup放到了同学的本上,是Windows 7 2009.是配置文件本身的特性导致会出现这个问题么?若想避免就必然要使用其他的方式来处理是么?谢谢您的指点。
【 在 ahomer 的大作中提到: 】
: ls正解。
: lz安装在Windows 7/2008上吧?
: 如要读和写,就不要用app.config了,把xml输出到一个临时文件下,再修改。
: ...................