
Это может вам помочь:
http://msdn.microsoft.com/en-us/library/aa302403.aspx
http://msdn.microsoft.com/en-us/library/aa302406.aspx
Статьи нацелены на ASP.NET, но принципы те же.
Вторая часть головоломки - обнаружение незашифрованной строки подключения, ее шифрование и запись обратно в файл конфигурации. Запись в файлы конфигурации, расположенные в вашем каталоге exe, как правило, очень плохая идея, но может быть очень полезна во время разработки. Плюсы и минусы очень хорошо описаны здесь. Обязательно прочтите все комментарии.
Почему вы говорите: «Запись в файлы конфигурации, расположенные в вашем каталоге exe, как правило, очень плохая идея»? Какой еще выбор у нас есть для хранения строки подключения? Предположим, что сервер базы данных неизвестен во время установки (что очень часто бывает). Я бы заполнял свойства строки подключения из диалогов. Где их хранить?