Имам приложение, пакетирано с MSI, което е направено в WiX пакет заедно с различни необходими инструменти на трети страни. Деактивирах действията за промяна и поправка в MSI поради начина, по който работи приложението, за да изисква пълно деинсталиране, преди да инсталирам същата версия отново.
Когато стартирам MSI отделно, той работи според очакванията: инсталаторът не може да се стартира два пъти. Същото важи, когато стартирате отново същия пакет. Но просто чрез повторно изграждане на пакета (използвайки същите UpgradeCode
и Version
), инсталацията вместо това продължава (този път много по-бързо) и в крайна сметка получавам дублиран запис сред инсталираните програми. Наистина бих искал да предотвратя това и да накарам пакета да работи като MSI.
Опитах с различни условия, зададени на пакета; NOT WixBundleInstalled
, WixBundleInstalled != 1
и т.н. Но нищо от това не изглежда да работи.
За справка, ето изявлението за пакета:
<Bundle UpgradeCode="{FAF9CBDD-BE89-4B18-9921-FD5B426B5B0C}" IconSourceFile="$(var.SolutionDir)Resources\product.ico"
Name="Product 4.4" Version="4.4.0.0" Manufacturer="My Company" DisableModify="yes" Condition="NOT (WixBundleInstalled = 1)">
ForcePerMachine="yes"
към този изразMSIPackage
, но това не помогна. - person Torbjörn Bergstedt   schedule 22.05.2014