Мне нужно, чтобы мой установщик нашел что-то ранее установленное, оно удалит все перед повторной установкой. До сих пор у меня есть этот код:Не переустанавливать последнюю версию WiX
<Product Id="GUID1" Name="MyName" Language="1033"
Version="1.0.0.0" Manufacturer="MyManufacturer" UpgradeCode="GUID2">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>
<Feature Id="ProductFeature" Title="MyTitle" Level="1">
<ComponentGroupRef Id="MyFeatures" />
</Feature>
</Product>
Но когда я запустить программу установки я получаю это сообщение: Существует еще одна versino этого продукта установлен. Эта установка не может продолжаться. (или что-то вроде этого, мои окна не на английском).
Как это исправить?
Это неправда. Когда я меняю версию '1.0.0.0' на' 1.0.0.0', вместо этого удаляю предыдущую и устанавливаю новую, msi создает новую установку. Итак, теперь у меня есть две установки моей программы на одном компьютере. Но если я изменил версию '1.0.0.0' на' 1.0.1.0', теперь все отлично. Значит, вы знаете, как сделать работу с четырьмя версиями? –
@JonnyPiazzi Установщик Windows определяет схему управления версиями для пакетов установщика Windows. Зачем пытаться использовать версию с четырьмя номерами, когда [docs] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370859 (v = vs.85) .aspx) четко говорят, что формат "major.minor.build" с ограничениями по диапазону для каждого? –
@Tom Blodget Я работаю над проектом, который ранее был определен, что версия: 'major.minor.error-correct.build', но я показал этот документ, который вы опубликовали, и методология будет изменена. Благодарю. –