То, что вы описываете, является поведением по умолчанию, если файл является keypath компонента. Например, следующий компонент не будет установлен, если foo.config
уже существует (или в случае файла с версиями, если файл с таким же или более высоким номером версии уже существует):
<Component Id="foo.config">
<File Source="foo.config"/>
</Component>
Обратите внимание, что если у вас есть несколько файлов в вашем компоненте, то только один может быть
Ключевой путь. Вы можете управлять этим, установив атрибут KeyPath
файла в yes
. Но рекомендуемая стратегия состоит в том, чтобы иметь только один файл на компонент, и в этом случае файл автоматически становится путем к ключу компонента.
edit : обратите внимание, что это поведение по умолчанию можно изменить с помощью свойства REINSTALLMODE . Вы можете открыть MSI с помощью orca и посмотреть, устанавливается ли это свойство в таблице свойств.