Я хочу, чтобы моя установка завершилась с ошибкой, если предыдущая версия приложения уже установлена.WIX Bundle bal: condition - util: переменная RegistrySearch всегда истинна
Я пытаюсь выполнить поиск в UpgradeCode в файле RegEdit. Имя значения обновляемого кода - «BundleUpgradeCode». Однако, даже если в regedit нет записи, журнал для Bootstrap возвращает значение условия как истинного. Я не уверен, что происходит не так.
<util:RegistrySearchRef Id="SearchForInstaller" />
<util:RegistrySearch Id="VSTORuntimeTest" Root="HKLM" Key="SOFTWARE\Microsoft\VSTO Runtime Setup\v4R\" Value="VSTORFeature_CLR40" Variable="VSTORFeature"/>
<util:RegistrySearch Id="VSTORuntimeVersionV4R" Root="HKLM" Key="SOFTWARE\Microsoft\VSTO Runtime Setup\v4R\" Value="Version" Variable="VSTORVersionV4R"/>
<util:RegistrySearch Id="VSTORuntimeVersionV4" Root="HKLM" Key="SOFTWARE\Microsoft\VSTO Runtime Setup\v4R\" Value="Version" Variable="VSTORVersionV4"/>
<util:RegistrySearch Id="DotNetTest" Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client" Value="Install" Variable="DotNetInstall"/>
<util:RegistrySearch Id="DotNetVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Client" Value="Version" Variable="DotNetVersion"/>
<Chain>
<ExePackage Id="dotNetFx40_Client_x86_x64" SourceFile="$(var.PreReqPath)\DotNetFX40Client\dotNetFx40_Client_x86_x64.exe" PerMachine="yes" Cache="no"
Compressed="no"
DownloadUrl="http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe"
Permanent="yes"
InstallCommand="/q /norestart"
DetectCondition="NOT DotNetInstall"
InstallCondition="NOT DotNetInstall OR NOT (DotNetVersion >=v4.0.30319)" />
<ExePackage Id="VSTORuntime" SourceFile="$(var.PreReqPath)\VSTOR40\vstor_redist.exe" Permanent="yes" Vital="yes" Cache="no" Compressed="no"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=158917"
PerMachine="yes"
InstallCommand="/q /norestart"
DetectCondition="VSTORFeature"
InstallCondition="NOT VSTORFeature OR NOT (VSTORVersionV4R >=v10.0.40303) OR NOT (VSTORVersionV4 >=v10.0.21022)" />
<MsiPackage SourceFile="$(var.AEMSetup.TargetPath)" Vital="yes" Compressed="no" Id="WordAddIns" DisplayInternalUI="yes"/>
</Chain>
</Bundle>
<Fragment>
<util:RegistrySearch Id="SearchForInstaller" Variable ="BundleUpgradeCode" Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\Windows" Result="exists" />
<bal:Condition Message="Another version of this product is already installed. Installation of version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs in Control Panel." >BundleUpgradeCode</bal:Condition>
</Fragment>
[0E98: 0390] [2013-06-18T13: 22: 49] I000: Установка строки переменной 'WixBundleName' в значение «Avanade оценки модели - v3. 4.3 ' [0E98: 0390] [2013-06-18T13: 22: 49] i100: обнаружение начинается, 3 пакета [0E98: 0390] [2013-06-18T13: 22: 49] i000: установка строковой переменной ' DotNetInstall 'для значения' 1 '[0E98: 0390] [2013-06-18T13: 22: 49] i000: Установка строковой переменной' D otNetVersion 'to value' 4.5.50709 ' [0E98: 0390] [2013-06-18T13: 22: 49] i000: Установка числовой переменной ' BundleUpgradeCode 'для значения 1 [0E98: 0390] [2013-06-18T13: 22:49] i000: Установка строковой переменной 'VSTORFeature' в значение '1' [0E98: 0390] [2013-06-18T13: 22: 49] i000: установка строковой переменной 'VSTORVersionV4' для значения '10 .0.40303 ' [0E98: 0390] [2013-06-18T13: 22: 49] i000: установка строковой переменной ' VSTORVersionV4R 'для значения '10 .0.40303' [0E98: 0390] [2013-06-18T13: 22: 49 ] i102: обнаруженный связанный пакет: {4edb6855-8f5b-438b-9a6b-4598e7083cd7}, тип: Модернизация, сфера: PerMachine, версия: 3.4.2.0, операция: MajorUpgrade [0E98: 0390] [2013-06-18T13 : 22: 49] i052: Условие «NOT DotNetInstall» оценивает значение false. [0E98: 0390] [2013-06-18T13: 22: 49] i052: Условие «VSTORFeature» оценивается как true. [0E98: 0390] [2013-06-18T13: 22: 49] i101: Обнаруженный пакет: dotNetFx40_Client_x86_x64, состояние: отсутствует, кэшировано: нет [0E98: 0390] [2013-06-18T13: 22: 49] i101 : Обнаруженный пакет: VSTORuntime, состояние: присутствует, кэшировано: нет [0E98: 0390] [2013-06-18T13: 22: 49] i101: Обнаруженный пакет: WordAddIns, состояние: присутствует, кэшировано: завершено [0E98: 0390 ] [2013-06-18T13: 22: 49] i052: Условие «BundleUpgradeCode» оценивает значение true. [0E98: 0390] [2013-06-18T13: 22: 49] i199: Обнаружение полный, результат: 0x0
Любая помощь будет оценена. Заранее спасибо.
Спасибо! Спасите мое время! Работает. – Konstantin