Выполнение пользовательских действий по функции - PullRequest
9 голосов
/ 21 июня 2010

Я написал специальное действие для создания запланированного задания после установки. Я не хочу, чтобы настраиваемое действие запускалось, когда пользователь не хочет создавать задачу расписания. Во время установки, даже если я выберу «Функция будет недоступна», эта задача создается. Как предотвратить выполнение настраиваемого действия?

Ответы [ 4 ]

11 голосов
/ 29 июня 2010

Вы можете установить условие для выполнения CA:

<InstallExecuteSequence>
    <Custom Action="ScheduleTaskCA" After="InstallFinalize">
        <![CDATA[&feature_name=3]]>
    </Custom>
</InstallExecuteSequence>

Надеюсь, это поможет.

Если вы хотите узнать больше об условиях CA, вы можете проверить ссылку ниже. Дополнительные условия пользовательских действий

0 голосов
/ 14 мая 2015

«MyService» - это имя функции

«FEATURE_MyService» - это мое состояние

<Control Id="Chk1" Type="CheckBox" Height="12" Width="110" X="50" Y="199" Text="Portal Windows Service" Property="FEATURE_MyService" CheckBoxValue="0" Hidden="yes">

<Custom Action='CAction1' After="InstallExecute">
    NOT Installed AND <![CDATA[(&MyService=3)]]>

<Custom Action='CAction2' Before='InstallExecute'>
    <![CDATA[(&MyService=3 AND NOT Installed)]]>

<Custom Action='CAction3' After='InstallFinalize'>
    <![CDATA[FEATURE_MyService AND NOT Installed ]]>

0 голосов
/ 18 февраля 2015

На самом деле я обнаружил проблему.& FeatureName = 3 говорит мне, что функция должна быть установлена, и наоборот: FeatureName = 3, что означает, что функция уже установлена.Это решило мою проблему, поэтому окончательное решение стало

&FeatureName = 3 OR (!FeatureName  = 3 AND NOT (Uninstalling OR MSIPATCHREMOVE OR RemovingForUpgrade)    
0 голосов
/ 22 июня 2010

Добавьте к вашей последовательности выполнения Install.

...