2017-09-25 2 views
1

Je souhaite déclencher une action personnalisée en cliquant sur un bouton.Erreur lors de la liaison d'actions personnalisées au contrôle du bouton-poussoir de l'interface utilisateur

Je reçois la valeur de retour 1 mais l'action personnalisée ne s'est pas exécutée.

Ceci est mon journal:

Action start 17:09:39: CA1. 

MSI (c) (08:00) [17:09:39:220]: Invoking remote custom action. DLL: C:\Users\ARKADY~1\AppData\Local\Temp\MSI87D6.tmp, Entrypoint: CustomAction1 

MSI (c) (08:EC) [17:09:39:222]: Cloaking enabled. 

MSI (c) (08:EC) [17:09:39:223]: Attempting to enable all disabled privileges before calling Install on Server 

MSI (c) (08:EC) [17:09:39:224]: Connected to service for CA interface. 
Action ended 17:09:39: CA1. Return value 1. 

Mon action personnalisée est:

[CustomAction] 
    public static ActionResult CustomAction1(Session session) 
    { 
     session.Log("Begin CustomAction1"); 

     return ActionResult.Success; 
    } 

Comme vous pouvez le voir pas d'entrée "Commencez CustomAction1" dans les journaux.

Mon action personnalisée Config:

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" /> 
    <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration> 

à partir du code Wix déclarant CA:

<Binary Id="CA" SourceFile="$(var.CustomAction1.TargetDir)$(var.CustomAction1.TargetName).CA.dll" /> 
<CustomAction Id="CA1" BinaryKey="CA" DllEntry="CustomAction1" Execute="immediate" Return="check"/> 

UI liant:

<Control Id="ManualUpdateButton" Type="PushButton" X="14" Y="188" Width="95" Height="17" Text="Manual Update"> 
     <Publish Event="DoAction" Value="CA1" Order="1">1</Publish> 
    </Control> 

Répondre

3

L'action personnalisée est en cours d'exécution, il est tout simplement pas quoi que ce soit l'exploitation forestière . C'est une limitation dans MSI - vous ne pouvez pas écrire dans le journal à partir d'une action personnalisée appelée par DoAction dans l'interface utilisateur.

+0

Je suppose que écrire manuellement un tableau de chaînes dans un fichier c'est alors! – Craig