Проект установки Visual Studio не обновляет файл содержимого

У меня есть проект установки Visual Studio, который включает в себя файл.SQL из моего проекта, который должен всегда перезаписывать существующий файл, если я запускаю установщик на том же компьютере для обновления до новой версии. Проблема в том, что это не всегда происходит. Под File System > Application Folder > File Installation Properties, какое свойство сообщит установщику всегда перезаписывать существующий файл.SQL при установке?

1 ответ

Обновление - это установка новых файлов поверх старых файлов, во время которых соблюдаются правила перезаписи файлов. Правило для файлов данных заключается в том, что они не будут перезаписаны, если они были обновлены с момента их установки. Если вы установили базу данных, которая теперь полна данных о клиентах, обычно плохая идея просто заменить ее новой пустой базой данных:

https://docs.microsoft.com/en-us/windows/desktop/msi/neither-file-has-a-version

Среди способов решения вашей проблемы:

  1. Обновите существующий файл новыми данными, используя настраиваемое действие.

  2. Прежде всего, избегайте проблемы, скопировав установленный файл в место, где он может быть использован, обновлен и т. Д. Приложением. После обновления оригинал может быть перезаписан, и приложение обнаружит, что есть новый, который он использует, и скопирует его для замены предыдущей копии. Это может быть слишком поздно для этого.

  3. Сделайте так, чтобы приложение указывало дату создания и дату изменения файла, чтобы обновление показало, что оно не было обновлено.

  4. Установите новый файл в другое место (и используйте 1. с этого момента). Более старый файл будет удален при обновлении.

  5. Отредактируйте файл MSI (с помощью такого инструмента, как Orca), чтобы переместить местоположение RemovePreviousVersions (в InstallExecuteSequence) так, чтобы оно было сразу после InstallInitialize. Это полностью удалит все старые файлы перед установкой новых, поэтому не поможет, если у вас будет база данных, полная данных о клиентах, упомянутых в первом параграфе.

Другие вопросы по тегам