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