Я сделал это несколько лет назад (создал настольное приложение Windows Forms, имея только ранее разработанные веб-приложения). Я обнаружил, что это оказалось проще, чем я ожидал, потому что все мои знания C # и .NET Framework BCL были легко перенесены.
Было несколько хитрых исключений; Я столкнулся с тем, что вам, вероятно, придется углубиться в многопоточность, чтобы пользователи не выглядели так, как будто ваше приложение зависло, хотя с появлением BackgroundWorker * это стало намного проще. 1004 * класс.
Как говорит Дэвид, вы можете использовать SQL Compact Edition в качестве базы данных или в качестве альтернативы SQLite и System.Data.SQLite ADO.NET Provider. Я использовал это сейчас с несколькими приложениями (веб и настольными), и это очень просто, надежно и легко распространяется.
Я бы также согласился с Дэвидом, что вы должны стремиться к WPF , а не к WinForms. WPF также будет иметь смысл как веб-разработчик, поскольку он основан на разметке.
Развертывание: если у вас Visual Studio Standard Edition или выше, вы можете просто создать установочные проекты, которые позаботятся о создании установщика, копировании базы данных в правильное место на компьютере пользователя и т. Д.