Условие Wix не блокирует установку msi

#wix #windows-installer

#wix #windows-installer

Вопрос:

Msi, над которым я работаю, должен отправить значение свойства для SERVER_MODE из командной строки для запуска. Однако, похоже, что условия даже нет, потому что msi просто установится без проблем. Файл журнала не может найти имя свойства, которое, как я полагаю, не определено. Вот что я сделал:

  <Property Id="SERVER_MODE2"  Secure="yes">

 <CustomAction Id="CheckForDashboardProperty" Error="!(loc.LaunchFromDashboard)" />

 <InstallExecuteSequence>
     <Custom Action="CheckForDashboardProperty" Before="LaunchConditions">Not SERVER_MODE2 And Not Installed</Custom>
 </InstallExecuteSequence>

<InstallUISequence>
    <Custom Action="CheckForDashboardProperty" Before="LaunchConditions">Not SERVER_MODE2 And Not Installed</Custom>
</InstallUISequence>
 

Ответ №1:

Для продолжения установки условия запуска должны иметь значение true, поэтому ваше условие не должно отменять значение свойства. Просто скажите SERVER_MODE2.

Вам не нужно условие not Installed, потому что вы никогда не зайдете так далеко — если продукт (т. Е. ProductCode) Уже Установлен, Windows не будет запускать ваш MSI, Он перейдет в режим обслуживания для текущего установленного продукта, который, вероятно, по умолчанию требует ремонта.

Итак, все, что вам нужно в качестве условия, — это SERVER_MODE2

…и я предполагаю, что SERVER_MODE в вашем тексте — это опечатка.