如何使用清单中的管理员权限在系统启动时自动运行? C#

How to autorun on system start with admin ritghts from manifest? c#

我的问题是,在我将其添加到清单后,我的应用程序不再在系统启动时启动

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>

我知道这与Windows UAC有关。但我真的不知道如何在程序启动时不失去管理员权限的情况下解决这个问题。

这是我写入注册表的方式:

 if (checkBox13.Checked)
            {
                File.WriteAllText(@"C:\ProgramData\Programname\autorunstate", "true");

                RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
                rk.SetValue("Programname", Application.ExecutablePath.ToString());

            }

如果有人能告诉我如何让程序在系统启动时立即启动,那就太好了? 在我将此行添加到清单之前它起作用了。 谢谢。

好的,我通过在安装时在 ProgramData 文件夹中创建我想写入的文件夹解决了这个问题。我使用了 Visual Studio 安装项目,现在我可以写入 /ProgramData/ProgramName/ 文件夹。感谢您的帮助。

"Set the permissions where you want to write at installation time when you are elevated. Then when your program runs, you don't need elevation"