Я хочу создать установщик WIX (3.8), который устанавливается только тихо.wix 3.8 silent install - ui level 2
Я использую файл Wix, прилагаемый для демонстрации моей проблемы.
В
UILevel = 2
<InstallExecuteSequence>
<FindRelatedProducts Before="LaunchConditions">UILevel=2</FindRelatedProducts>
</InstallExecuteSequence>
Я установки уровня UI до 2 Согласно: msdn.microsoft.com/en-us/library/aa372096%28v= vs.85% 29.aspx то это: " INSTALLUILEVEL_NONE 2 Полностью автоматическая установка ."
Так это так хорошо. Я могу установить «продукт», который является ничем иным, как пустым каталогом. Когда я устанавливаю версию продукта на: Version = "1.1.0.0" и хочу сделать серьезное обновление, все работает отлично. Когда я смотрю на программы появилась функция «инструмент» от Microsoft , как показано здесь:
Я вижу обе версии (версия 1.0.0.0 и 1.1.0.0), который не то, что я ожидал, что Wix установщик должен делать.
Когда я удалить
<InstallUISequence>
<FindRelatedProducts Before="LaunchConditions">UILevel=2</FindRelatedProducts>
</InstallUISequence>
<InstallExecuteSequence>
<FindRelatedProducts Before="LaunchConditions">UILevel=2</FindRelatedProducts>
</InstallExecuteSequence>
из сценария Wix, установить версию 1.0.0.0, а затем после повторного изменения сценария WIX в 1.1.0.0 и основное обновление я вижу только 1 версию (1.1. 0.0) в программе есть функция «инструмент» от Microsoft (windows.microsoft.com/en-us/windows/uninstall-change-program#uninstall-change-program=windows-7) , что я ожидаю от окон установщик должен делать.
Так что мой вопрос будет: Что отсутствует или неправильно в сценарии (что программа это функция «инструмент» из Microsoft показывает 2 версии после капитального обновления) Wix сценария:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.1.0.0" Manufacturer="asdf" UpgradeCode="BE170BF6-0C06-4A50-B81B-CDF6609FAD5A">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perUser" InstallPrivileges="limited" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." Schedule="afterInstallInitialize" />
<MediaTemplate />
<InstallUISequence>
<FindRelatedProducts Before="LaunchConditions">UILevel=2</FindRelatedProducts>
</InstallUISequence>
<InstallExecuteSequence>
<FindRelatedProducts Before="LaunchConditions">UILevel=2</FindRelatedProducts>
</InstallExecuteSequence>
<Feature Id="ProductFeature" Title="SetupProject1" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="LocalAppDataFolder">
<Directory Id="INSTALLFOLDER" Name="SetupProject1" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="test" Guid="D6527568-4C76-493B-AF1F-9E973723E773"
SharedDllRefCount="no" KeyPath="no" NeverOverwrite="no" Permanent="no" Transitive="no"
Win64="no" Location="either">
<CreateFolder/>
<RemoveFolder Id="ProductComponents" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\MyFantasyCompany\MyApplicationName" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
Hello Christopher, благодарит за ваш ответ. Я просто хочу развернуть пакет msi, как описано здесь: http://www.advancedinstaller.com/user-guide/tutorial-gpo.HTML Вместо " UILevel = 2 FindRelatedProducts> InstallUISequence> UILevel = 2 InstallExecuteSequence> " постараюсь использовать это: " InstallExecuteSequence> " с уважением Alex B. –
bleissem