Последовательность пользовательских действий в WiX перед «LaunchConditions» - PullRequest
4 голосов
/ 21 января 2010

Можно ли упорядочить пользовательское действие перед «LaunchConditions»?

Это мое пользовательское действие:

<CustomAction
    Id="CA_vcAppRunning"
    BinaryKey="vcShowMsg"
    DllEntry="IsAppRunning"
    Return="check"
    Execute="immediate"/>

Последовательность в <InstallExecuteSequence/>

<Custom Action="CA_vcAppRunning" Before="LaunchConditions" />

Я попробовал это, открыл файл MSI в Orca и обнаружил, что мое настраиваемое действие упорядочено в «99». Но когда я попытался установить, он так и не позвонил.

Я хочу запланировать это до LaunchConditions, поскольку это настраиваемое действие должно устанавливать свойство, которое используется в LaunchCondition (если приложение запущено, выйдите из установщика / программы обновления).

1 Ответ

4 голосов
/ 02 февраля 2010

Не планируйте это до LaunchConditions, запланируйте после FindRelatedProducts, а затем добавьте второе настраиваемое действие, которое блокирует установку на основе результатов вашего первого ЦС.

Это тот же метод, который используется для предотвращения понижения рейтинга во многих руководствах, например,

<CustomAction Id="CA_BlockOlderVersionInstall" Error="!(loc.LaunchCondition_LaterVersion)" />
<InstallExecuteSequence>
        <LaunchConditions After="AppSearch" />
        <Custom Action="CA_BlockOlderVersionInstall" After="FindRelatedProducts">
            <![CDATA[NEWERVERSIONDETECTED]]>
        </Custom>
</InstallExecuteSequence>
<InstallUISequence>
        <LaunchConditions After="AppSearch" />
        <Custom Action="CA_BlockOlderVersionInstall" After="FindRelatedProducts">
            <![CDATA[NEWERVERSIONDETECTED]]>
        </Custom>
</InstallUISequence>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...