在C:\驱动器权限问题中写入文件

我用c#开发了一个win应用程序,它在c:\驱动器的文件夹中生成文件。 当尝试生成文件时,然后出现权限问题,但是当应用程序在C:\之外的其他驱动器中生成文件时,则不会出现问题。 因此,当我将我的应用程序设置分发给最终用户时,我不确定将安装我的应用程序的用户是否具有在C:\驱动器中生成文件的权限。

所以指导我如何克服这个问题。 我应该使用清单在win OS中提升应用程序吗?

我有一些文章

http://blogs.msdn.com/b/nikhiln/archive/2007/04/19/embed-a-manifest-to-make-an-application-elevate-in-vista.aspx http://www.codeproject.com/Articles/105506/Getting-Elevated-Privileges-on-Demand-using-C http://archive.msdn.microsoft.com/KB981778 

等……请用正确的知识指导我。 谢谢

您可以使用提升的权限再次启动应用程序,并在应用程序的启动时进行一些检查以查看是否是这种情况。 这是一个例子:(注意不要进入应用程序启动的无限循环。)

 public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] args = Environment.GetCommandLineArgs(); if (args.Length > 1 && args[1] == "-e") Text = "Elevated"; } private void button1_Click(object sender, EventArgs e) { Process process = new Process { StartInfo = new ProcessStartInfo { FileName = Application.ExecutablePath, Arguments = "-e", Verb = "runas",//-Admin. } }; process.Start(); } } 

不过,我同意将信息存储在“C:”中可能不是一个好主意。 您可以尝试以下方式: Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)