c#win7:unauthorizedaccessexception

zee*_*zee 2 c# windows-7

我在c#中为Windows7编写一个程序非常好......但是现在我开始构建一个将程序文件复制到"C:\ Program Files"的设置.

现在,当程序在该文件夹中时存在很多问题:

1)如果我取消OpenFileDialog,我会得到一个例外

2)我的程序不再将文件写入AppData文件夹

3)由于权限,程序无法在自己的目录中打开实习文件

我不知道我能做什么......

有人能帮我吗?

编辑:

也许你不明白我的问题.

我编写了一个在C:\ myprogram中工作正常的程序.我做了一个安装程序,将文件复制到C:\ Program Files目录,当我将文件复制到该目录时,它是一样的

  • 我的程序自己的目录中打开文件
  • 我的程序打开并AppData文件夹中写入文件
  • 我的程序可以在rtb中打开像.txt这样的文件.在那里将使用OpenFileDialog

这3点不起作用!

如果我的程序在Program Files文件夹中,它无法打开像C:\ Program Files\myprogram\xsl\test.xsl这样的文件,并且无法将文件写入AppData文件夹.

如果我将我的程序安装到C:\ lalala它会工作!

zee*_*zee 5

好的 - 我找到了答案:

我必须使用

FileStream fs = File.OpenRead(tmpfile)
Run Code Online (Sandbox Code Playgroud)

代替

FileStream fs = new FileStream(tmpfile, FileMode.Open);
Run Code Online (Sandbox Code Playgroud)