Чтобы мое приложение запускалось в Windows sturup, я решил поместить ярлык в папку «Автозагрузка».
Я пытался использовать:
File.Move(AppDomain.CurrentDomain.BaseDirectory + "ApplicationName.exe", Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "ApplicationName.lnk");
Работает, но перемещает мой ярлык не в ту папку, которая мне нужна.
Environment.GetFolderPath(Environment.SpecialFolder.Startup)
работает хорошо, он возвращает:
C:\Users\Germanov\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Но мой ярлык появляется в
C:\Users\Germanov\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Всего 1 папка "позади".
File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "ApplicationName.lnk");
тоже работает "странно". Он фактически удаляет этот файл, но опять же не в папке «Автозагрузка».
Если я попытаюсь вручную добавить «\ Startup» к пути следующим образом:
Environment.GetFolderPath(Environment.SpecialFolder.Startup) + @"Startup\ApplicationName.lnk"
Я получаю System.IO.Excseption.
Я не могу ввести этот путь вручную, мне нужно, чтобы мое приложение работало на разных ПК с разными версиями Windows. Я также не могу использовать реестр, чтобы мое приложение запускалось при запуске Windows.
Я использую Windows 7, Visual Studio 2010, .NET 4.0, это проект WPF.
Любые идеи?