У меня есть приложение с несколькими файлами, которые содержат параметры конфигурации и другие данные, которые изменяются при использовании пользователем приложения. Эти файлы могут изменяться с более новыми версиями моего программного обеспечения, но пользователь также может их модифицировать (или они могут быть изменены самим приложением). В основном, я ищу решение, которое предотвращает перезапись пользователей этими файлами, а также способ установки потенциально обновляемых файлов, когда пользователь обновляет мое программное обеспечение.Управление конфигурационными файлами с помощью WiX
С RPM на * NIX вы можете использовать функцию% config для определения файла в качестве файла конфигурации, и RPM затем переименует существующий файл (если он существует) и установит новый при обновлении (может быть, не идеально, но я мог бы жить с чем-то подобным для WiX).
Я хотел бы установить мои файлы конфигурации в подкаталог или даже другое имя (например, default.cfg), а затем использовать элемент <CopyFile>
в WiX для копирования файлов в их правильные местоположения. Таким образом, файлы по умолчанию будут удалены при установке и перезаписании при обновлении, но фактические пользовательские файлы останутся неизменными. К сожалению, с <CopyFile>
, установщик Windows по-прежнему хочет управлять (и удалять) файл назначения.
Я также рассмотрел использование действия QtExec в WixUtilExtension, чтобы в основном сделать «copy default.cfg reallocation.cfg», но это не совсем сработало, и это немного взломало.
Каков правильный способ справиться с этим?