我用VS打包工具打包,设置了AllowWriteAccess 为 true 后,安装 还是没写入权限.
只有设置user或aspnet 用户的写权限为true后,才能写入.
这个怎么解决啊!
只有设置user或aspnet 用户的写权限为true后,才能写入.
这个怎么解决啊!
解决方案 »
- vs2008+asp.net2怎么写公共类和网页中调用公共类
- 网站自己进行URLencode解码吗? 里面是个怎么样的机制呢?
- 解析xml用C#
- 请问关于XslTransform的问题
- rdlc报表问题?
- 怎么修改 WebHtmlEditor控件中的 图片地址啊? 嗷嗷嗷嗷嗷嗷紧急
- 我是新手有一个问题一直没有解决
- 请教!在datagrid的编辑行里同时包含textbox.dropdownlist.checkboX
- 如何用程序读.xml .xsl, 然后将结果在网页中的一个表格显示,页面其他内容都是静态的:
- repeater绑定时的问题!!?
- 如何计算月报表某列的差值
- 求一个 英文 分词程序!!!!!!!!!!!!!!!!!!!!
XP 加asp net 用户
2003 加network service用户string accountName = System.Environment.UserName;
string system = System.Environment.MachineName;
accountName = "NETWORK SERVICE";
Microsoft.Win32.Security.WindowsUser wu = new Microsoft.Win32.Security.WindowsUser(accountName, system); SecuredObject so = new SecuredObject();
so.ObjectName = @"d:\test";//你程序安装路径
so.ObjectType = SecuredObjectType.FileObject;
so.Permissions.SetAccess(wu, AccessRights.FileWriteUnsync, AceInheritanceFlags.ContainerInherit| AceInheritanceFlags.ObjectInherit);
1、在数据库安装程序类中增加一个方法ChangeAuth()
2、在此方法中通过Process类,调用cacls.exe对access文件进行权限更改
Process p = new Process();
p.startinfo.filename = "cacls.exe";
p.startinfo.arguments = accessfilepath + " /g everyone:F"
......其它相关设置,重要的是上面的两句
p.start()
3、请学习一下Cacls的用法
4、上面的accessfilepath指的是您的access文件的路径。程序安装路径 通过Context的assemblypath参数可以在安装类中间接得到。 在上面的例子中就可以给虚拟目录下面的Access文件(对于你来说就是你要修改权限的文件夹)增加Everyone这个帐号“完全控制”(F)的权限