Napisałem aplikację w C#, która po pierwszym uruchomieniu ma dodać wpis do rejestru i uruchamiać się przy każdym starcie systemu. Pod Windowsem 7 i pod Windowsem XP wszystko działa pięknie, natomiast pod Windowsem 8 jest już problem. Po uruchomieniu programu, program powinien dodać wpis do rejestru, aczkolwiek tak nie robi. Nie ma żadnego błędu, komunikatu etc. I program działa dalej już w porządku. Oczywiście uruchamiam jako administrator.
Kod:
RegistryKey rKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rKey.DeleteValue(Application.ProductName, false);
rKey.SetValue(Application.ProductName, Application.ExecutablePath, RegistryValueKind.String);
Próbowałem również użyć klucza dla pojedynczego użytkownika, a nie wszystkich: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, aczkolwiek efekt jest ten sam. Czyli po ponownym uruchomieniu Windowsa 8 muszę uruchomić program ręcznie.
Jakieś podpowiedzi, pomysły?