VS2010 Setup Project принудительная перезапись файлов - PullRequest
2 голосов
/ 18 апреля 2011

Посмотрел везде и похоже, что в VS2010 все опции были удалены для этого.

У меня есть проект установки, в котором есть файлы приложений, которые копируются в папку приложений. То, что я хочу, это иметь возможность перезаписывать любые существующие файлы там. Конечный пользователь может редактировать эти файлы между обновлениями, и я должен иметь возможность перезаписывать их изменения, а также отправлять им любые обновления этих файлов.

Установка для папок «CreateAlways = True» НЕ означает, что содержимое папки перезаписывается, как я и ожидал. Позволяет создавать только пустые папки.

Я пробовал это решение. И, очевидно, это не работает с 2010 года.

Самое простое, что я могу придумать, - это установить номера версий для этих файлов, чтобы правило установки перезаписывало старые версии, но я не думаю, что это возможно для текстовых файлов и тому подобного. (Кроме того, это много файлов, и я часто делаю обновления)

1 Ответ

2 голосов
/ 18 апреля 2011

Наиболее используемый (и самый простой) подход - установить очень высокую версию для всех строк в Таблица файлов .Например, вы можете использовать:

65535.65535.65535.65535

Это можно сделать с помощью сценария или EXE-файла, который открывает базу данных MSI, изменяет ее и сохраняет изменения.Вы можете найти API базы данных MSI здесь: http://msdn.microsoft.com/en-us/library/aa368250(VS.85).aspx

Обратите внимание, что некоторые коммерческие инструменты имеют специальные опции для этого.

...