1

我有一个小程序安装在程序文件的自定义文件夹中,但是当我尝试读取或写入操作所需的文件时,程序会引发访问被拒绝异常。当然,在用户许可的情况下,我如何提升程序。

4

4 回答 4

1

我猜你是在 Vista 下运行的?在 Vista 中,我认为您不允许读取/写入 Program Files 下的文件,您应该将数据文件放在 Documents and Settings 中。

于 2008-11-18T08:56:40.987 回答
1

解决读取时访问被拒绝的异常。请将文件访问指定为已读,这将解决读取时拒绝访问的异常

e.g. fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
于 2012-11-23T09:53:30.787 回答
0

您可以使用ClickOnce API完成所需的一切。如果您有多个部分(例如,多个 EXE),那么您需要将它们包含在您的包中。

据我所知,唯一不支持的场景(ClickOnce)是验证代理。

于 2008-11-18T18:20:21.347 回答
0

ClickOnce 支持安装任意数量的可执行文件,但您可能需要手动将它们包含在清单定义中。

为了正确并在最少用户访问 (LUA) 和用户访问控制 (UAC) 的限制下正常运行,您的应用程序根本不应该写入程序文件夹,除非在安装期间。如果您必须这样做,您应该包含一个清单文件,该文件表明您的应用程序需要提升的权限才能运行。(如果您在 Vista 上运行,您还可以设置兼容模式。)

于 2008-11-18T20:30:54.440 回答