Это в основном вопрос того, как часто данные будут меняться. И как это будет взаимодействовать с очень строгим управлением правами записи, так как NTFS стала распространенной (хотя правило предшествует NTFS, в основном FAT - и, следовательно, нет прав, чтобы остановить нас - мало кто из программистов заботился).
Вы можете и даже следует поместить материал в сам каталог Programm, , если , то он не изменяется вне обновлений / переустановок программы. Если он изменяется только с помощью Installer или Updater - вещи, которые в любом случае нуждаются в административных правах для своей работы, - он принадлежит там.
Если изменения происходят чаще, чем это - особенно вещи, которые могут изменяться во время выполнения или даже должны меняться во время выполнения - когда папка программы становится непригодной для использования. В этом случае в каталоге программы должен быть файл шаблона. Что-то, что вы можете скопировать в настоящий каталог в качестве базового уровня, чтобы было с чем начать работать. Что касается места размещения этих изменяемых данных, посмотрите на перечисление SpecialFolders . Userprofile - особые папки Appdata - это то, на что стоит обратить внимание. Вопрос о том, какой c использовать, зависит от того, как вы хотите, чтобы он взаимодействовал с синхронизацией контроллера домена (роуминг против пользователя без роуминга). Или, если вы хотите, чтобы он оказался в Common.
Драйверы звучат как тот редкий случай, когда каталог программ полностью соответствует. При желании драйверы могут быть установлены как параллельное приложение. То, что может управляться / обновляться отдельно и является просто требованием для вашей программы. Что-то, что может быть общим для нескольких приложений.