Два подхода:
1) «Самый простой» способ для InstallShield никогда не перезаписывать файл - это никогда не устанавливать его в первую очередь. Установите его как a.txt, и ваше приложение скопирует его в b.txt при первом запуске, и я nstallShield никогда даже не узнает о b.txt.
2) Создайте компонент в InstallShield и добавьте свою базу данных в качестве ключевого файла. Предположительно, содержимое базы данных со временем будет меняться, что приведет к разной дате создания и дате изменения. В этом сценарии правила установки версий файлов (OMUS) по умолчанию InstallShield (OMUS) предписывают, что файл не будет перезаписан.
3) Если # 2 все еще не работает, установите для атрибута Never Overwrite компонента значение Yes.
Помните, что стоимость файла основана на KeyFile. Независимо от того, к чему относится файл ключа, все остальные файлы в компоненте будут выполнять то же самое в отношении перезаписи. «Always Overwrite» - это «версия, лежащая», когда мы ложно сообщаем MSI, что файл Verison - 65535.0.0.0, и, таким образом, правило Create / Modification заменяется правилом Versioned trumps Non-Versioned files.