C#WinForms仅在管理用户中运行

C#WinForms仅在管理用户中运行,c#,winforms,visual-studio-2008,C#,Winforms,Visual Studio 2008,我正在使用VS2008创建winforms。我做的每个程序似乎都只为管理员用户运行。 如果用户不是管理员,程序将无法启动。 我打赌这是Visual Studio中的一个发布选项,但还没有找到答案 string r, w; List<string> tags = new List<string>(); private ContextMenuStrip contextMenuStrip1; StreamWrite

我正在使用
VS2008
创建
winforms
。我做的每个程序似乎都只为管理员用户运行。 如果用户不是管理员,程序将无法启动。 我打赌这是Visual Studio中的一个发布选项,但还没有找到答案

        string r, w;
        List<string> tags = new List<string>();
        private ContextMenuStrip contextMenuStrip1;
        StreamWriter sr=new StreamWriter(@"C:\\System\\out.txt",true);        
        private System.ComponentModel.BackgroundWorker backgroundWorker1 = new BackgroundWorker();           

        System.Threading.Timer ClipboardUnload;
        public Form1()
        {            
            InitializeComponent();                             
            backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
            ClipboardUnload = new System.Threading.Timer(new TimerCallback(ClipboardUnload_Tick), null, 0, Properties.Settings.Default.Persist);
        }
字符串r,w;
列表标签=新列表();
私有ContextMenuStrip contextMenuStrip1;
StreamWriter sr=新的StreamWriter(@“C:\\System\\out.txt”,true);
private System.ComponentModel.BackgroundWorker backgroundWorker1=新的BackgroundWorker();
System.Threading.Timer剪贴簿加载;
公共表格1()
{            
初始化组件();
backgroundWorker1.DoWork+=新的DoWorkerVenthandler(backgroundWorker1_DoWork);
clipboadunload=new System.Threading.Timer(new TimerCallback(clipboadunload_Tick),null,0,Properties.Settings.Default.Persist);
}
舱单:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>


如果程序正在C:\system目录中写入内容,则运行该程序的用户将需要该文件夹的写入权限。

需要更多信息,如程序的功能和调用类型等?没有此类发布选项。您可能已将某些内容复制到清单文件中,从而使应用程序需要提升权限,但您必须为每个项目单独执行此操作。此外,您还没有说明“似乎运行”是什么意思-它是否显示UAC提示,还是只是为了做您想做的事情并由于缺少权限而产生异常?您尝试运行的用户是否有权访问
C:\System
文件夹?再说一遍:程序是否写不出任何东西或显示UAC提示符?UAC被禁用。程序失败了,那有什么例外?用户是否有
C:\System
的写入权限?实际抛出错误的代码是什么?您可能希望更改答案,以便它反映问题的最新编辑和对问题的评论,正如我建议OP接受它一样。@ThorstenDittmar完成。我怀疑是这样的。当我们从每个人都有管理员权限的XP迁移到旧软件时,我们经常遇到这个问题。然而,这并不是我所说的编辑:-)
C:\System
似乎是海报制作的文件夹,所以你不能假设一个文件夹需要管理员权限。您应该写入尝试写入
C:\System
的用户帐户将需要相应的写入权限。