За да накарам приложението ми да стартира в Windows sturup, реших да сложа пряк път към папката Startup.
Опитах се да използвам:
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".
Ако се опитам ръчно да добавя "\Startup" към пътя по следния начин:
Environment.GetFolderPath(Environment.SpecialFolder.Startup) + @"Startup\ApplicationName.lnk"
Получавам System.IO.Excception.
Не мога да напиша този път ръчно, искам приложението ми да работи на различни компютри с различни версии на Windows. Също така не мога да използвам системния регистър, за да накарам приложението ми да стартира със стартиране на Windows.
Използвам Windows 7, Visual Studio 2010, .NET 4.0, това е WPF проект.
Някакви идеи?