Хорошо! Наконец-то я более точно определил проблему, с которой столкнулся. В моем установщике я пытался получить файл настроек REMAIN INTACT при серьезном обновлении. Я наконец получил это для работы с предложением установить
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
Это успешно вынуждает этот компонент покинуть оригинал, не заменяя его, если он существует:
<Component Id="Settings" Guid="A3513208-4F12-4496-B609-197812B4A953" NeverOverwrite="yes">
<File Id="settingsXml" KeyPath="yes" ShortName="SETTINGS.XML" Name="Settings.xml" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\Settings\settings.xml" Vital="yes" />
</Component>
ОДНАКО! Это проблема! У меня есть еще один компонент, перечисленный здесь:
<Component Id="Database" Guid="1D8756EF-FD6C-49BC-8400-299492E8C65D" KeyPath="yes">
<File Id="pathwaysMdf" Name="Pathways.mdf" DiskId="1" Source="\\fileserver\Shared\Databases\Pathways\SystemDBs\Pathways.mdf" Vital="yes"/>
<File Id="pathwaysLdf" Name="Pathways_log.ldf" DiskId="1" Source="\\fileserver\Shared\Databases\Pathways\SystemDBs\Pathways.ldf" Vital="yes"/>
</Component>
И этот компонент ДОЛЖЕН БЫТЬ ЗАМЕНЕН при серьезном обновлении. Я могу сделать это только установив
<RemoveExistingProducts After="InstallInitialize" />
Это нарушает первую функциональность, которая мне нужна с файлом настроек.
КАК Я МОГУ ДЕЛАТЬ ОБА?!