Всем привет! Пытаюсь программно добавить свое приложение в автозагрузку. Однако при старте системы приложение открывается и сразу же закрывается. При запуске приложения вручную оно работает. Добавляю в автозагрузку следующим способом
private void installButton_Click(object sender, EventArgs e)
{
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
richTextBox_OK.Text = "";
richTextBox_ERROR.Text = "";
string dirPath = folderBrowserDialog.SelectedPath + "\\AVUC";
string fileExePath = folderBrowserDialog.SelectedPath + "\\AVUC\\AVUC Microsoft Version Controller.exe";
string fileLinkPath = "C:\\Users\\" + userName + "\\AppData\\Roaming\\Microsoft\\Windows" +
"\\Start Menu\\Programs\\Startup\\AVUC Microsoft Version Controller.lnk";
string fileTxtPath = folderBrowserDialog.SelectedPath + "\\AVUC\\configLocal.txt";
try
{
richTextBox_OK.Text += "UserName: " + userName + "\n";
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
richTextBox_OK.Text += "Directory \"" + dirPath + "\" created\n";
}
else
{
richTextBox_ERROR.Text += "ERROR!\tDirectory \"" + dirPath + "\" is already exists\n";
richTextBox_ERROR.Text += "NOT INSTALLED\n";
return;
}
File.Copy("AVUC Microsoft Version Controller.exe", fileExePath);
richTextBox_OK.Text += "File \"AVUC Microsoft Version Controller.exe\" copy created\n";
File.Copy("configLocal.txt", fileTxtPath);
richTextBox_OK.Text += "File \"configLocal.txt\" copy created\n";
ShortCut.Create(fileExePath, fileLinkPath, "", "AVUC Microsoft Version Controller");
richTextBox_OK.Text += "Link created: " + fileLinkPath + "\n";
richTextBox_OK.Text += "\tINSTALLED\n";
}
catch (Exception ex)
{
richTextBox_ERROR.Text += "ERROR!\t" + ex.Message + "\n";
richTextBox_ERROR.Text += "\tNOT INSTALLED\n";
}
}
}
Создание ярлыка
ShortCut.Create(fileExePath, fileLinkPath, "", "AVUC Microsoft Version Controller");
позаимствовал здесь
https://www.cyberforum.ru/csharp-net/thread177408.html
Если вручную создать ярлык и поместить в папку автозагрузки работает ровно. Почему-то ему не нравятся программно созданные ярлыки или метод создания ярлыка получается. Если кто-то занет - подскажите плиз))