У меня есть приложение, упакованное с помощью 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