Мы создали установщик (Nullsoft Install System v2.46), который устанавливает приложение, плюс некоторые (вложенные) каталоги данных, которые включают (текстовые) файлы данных, доступ к которым осуществляется на чтение / запись из установленного применение.
Все отлично работает на WinXP: приложение загружается, и файлы можно читать / записывать из каталогов данных, вложенных в каталог установки.
Однако при установке в Win7 / 64 каталоги данных, созданные как часть установки, доступны только для чтения. Таким образом, приложение загружает файлы данных, но не может перезаписать их (поскольку они находятся в каталоге данных только для чтения в каталоге установки).
Да, поскольку это Win7-64bit, каталоги данных находятся в:
C:\Program Files (x86)\MyApp\MyDataDir0
Я понимаю, что Win7 более строг в своей политике установки, чем предыдущие WinOS (по соображениям безопасности).
ВОПРОС: Какой механизм мы должны использовать для обеспечения того, чтобы эти каталоги данных были доступны для чтения / записи и чтобы (текстовые) файлы данных в них также считывались / записывались во время установки?
Эти файлы данных не зависят от пользователя, они подразумевают данные, необходимые для запуска программы. (Без них программа бесполезна.) Логически они являются файлами «программной системы», хотя мы могли бы рационализировать, что они представляют «расширяемые наборы данных», используемые программой (поэтому они должны быть доступны для чтения / записи).
Для простоты и согласованности мы бы действительно решили обратиться к установщику, а не изменять права доступа к файлам / каталогам изнутри программы. Мы бы предпочли, чтобы эти данные существовали там, где установлено приложение, а не в некоторых C:/Users/Default/
. или C:/ProgramData/MyApp/.
каталог.
Интересует ли нас «чтение / запись» в отношении data-dirs-under-app-install-dir к политике Win7? (Разве мы не должны устанавливать их там?)