Я, возможно, немного опаздываю с ответом на этот вопрос, но мне было трудно найти решение в Google, но в конце концов я понял это, поэтому подумал, что поделюсь.
В MSBuild версии 4 (VS2010 и VS2012) этого можно достичь, вставив следующую цель:
<Target Name="AutoSetMinimumRequiredVersion" BeforeTargets="GenerateDeploymentManifest">
<FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
<Output PropertyName="MinimumRequiredVersion" TaskParameter="OutputVersion" />
</FormatVersion>
<FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
<Output PropertyName="_DeploymentBuiltMinimumRequiredVersion" TaskParameter="OutputVersion" />
</FormatVersion>
</Target>
$ (ApplicationVersion) - это тот же параметр, который можно установить вручную в окне публикации проекта в VS IDE, для части ревизии установлен звездочка. $ (ApplicationRevision) - это реальная версия, используемая для опубликованной версии. Задача FormatVersion - это встроенная задача MSBuild, которая форматирует их в один полный номер версии.
Это установит «Минимально требуемую версию» такой же, как и «Публикация версии», следовательно, гарантируя, что новое развертывание всегда будет устанавливаться пользователями, т.е. не будет возможности Пропустить обновление.
Конечно, если вы не хотите устанавливать минимальную требуемую версию для публикуемой версии и хотите использовать другое свойство источника, тогда просто изменить цель, но принцип тот же.