Во-первых, это не предупреждение, а ошибка, и выдаёт её не компилятор, а среда исполнения.
Во-вторых, Registry.CurrentUser -- это ветка HKEY_CURRENT_USER, поэтому ключа HKEY_LOCAL_MACHINE\SOFTWARE в ней нет и быть не может. Если Вам надо писать в ветку HKEY_LOCAL_MACHINE, то и открывать надо её. Как-то так:
Код:
RegistryKey Key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\", true);
В-третьих, к имени каталога надо добавлять '\' или пользоваться стандартным способом:
Код:
string progPath = Path.Combine(Directory.GetCurrentDirectory(), "Programm.exe");