Каталог Program Files определенно не подходит для хранения данных ... В Windows Vista и Seven этот каталог нельзя записать, если приложение не запущено от имени администратора. Вы должны поместить базу данных в ProgramData или в каталог данных пользователя. Вы можете получить эти каталоги с помощью метода Environment.GetFolderPath
:
string userAppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
// On Vista and Seven, this is C:\Users\<username>\AppData\Roaming
// On XP, this is C:\Documents and Settings\<username>\Application Data
string commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// On Vista and Seven, this is C:\ProgramData
// On XP, this is C:\Documents and Settings\All Users\Application Data