My problem is simple. I can't find both problem's solutions together. My question about launch my program at startup with admin permission without warning. I just want to get admin rights on setup. I'm using regedit for launching my program at startup its working without admin rights. If i try to give admin rights on app manifest, program isn't launching at startup. How should i solve this ? Also program need a gui so i can't use services. Thanks for the help.
There are my startup codes
private void SetStartup()
{
RegistryKey rk = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (chkStartUp.Checked)
{
rk.SetValue("_connectorEthernet", Environment.CurrentDirectory + @"\_connectorEthernet");
WriteToSettingFile("true");
}
else
{
rk.DeleteValue("_connectorEthernet", false);
WriteToSettingFile("false");
}
}
Ok, i think i solved. Firstly i made
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
For the program launchs at startup. If you dont do this program doesn't start.
After that i used settings.setting in solution explorer window.
This is for getting settings
chkStartUp.Checked = Properties.Settings.Default.chk;
And this is for the change and save settings
Properties.Settings.Default.chk = true;
Properties.Settings.Default.Save();
And lastly this code for run cmd as administrator and getting respond.
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "netsh.exe",
Arguments = "lan reconnect",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true,
Verb = "runas"
}
};
proc.Start();
string line = proc.StandardOutput.ReadToEnd();
MessageBox.Show(line);
This is how i solved my problems. I hope it might be helpfull others. If you have any other idea to do that please contact me.