3 votes

L'action personnalisée n'est pas exécutée

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
      <!-- This is my custom UI where I need to take the user name and password details and perform some checks. If they are empty i need to show message box-->
    <UI>
      <Property Id ="PROP_USER_NAME"  Hidden="yes"/>
      <Property Id="PROP_PASSWORD"  Hidden="yes" />
      <Property Id="PROP_RESULTANT"  Value="1"  />     

      <Dialog Id="UserCredentialDlg" Width="370" Height="270" Title="CQS software" NoMinimize="no">

        <Control Type="Line" Id="TopLine" Width="370" Height="17" X ="0" Y="40"/>
        <Control Type="Line" Id="BottomLine" Width="370" Height="17" X="0" Y="230" />
        <Control Type="PushButton" Id="btnBack" Width="56" Height="17" X="146" Y="244" Text="Back">
          <Publish Event="NewDialog" Value="LicenseDlg"/>
        </Control>
        <Control Type="PushButton" Id="btnNext" Width="56" Height="17" X="221" Y="244" Text="Next" Default="yes">
          <Publish Event="DoAction" Value="UserNameAndPasswordCheck" Order="1"/>
          <Publish Event="NewDialog" Value="WelcomeDlg" Order="2"/>          
        </Control>
        <Control Type="PushButton" Id="btnCancel" Width="56" Height="17" X="296" Y="244" Text="Cancel" Cancel="yes">
          <Publish Event="EndDialog" Value="Exit" />
        </Control>
        <Control Type="Text" Id="lblUserName" Width="50" Height="17" X="79" Y="94" Text="UserName" Transparent="yes"/>
        <Control Type="Text" Id="lblPassword" Width="50" Height="17" X="79" Y="124" Text="Password" Transparent="yes"/>
        <Control Type="Edit" Id="txtbxUserName" Width="150" Height="17" X="131" Y="94"  Property="PROP_USER_NAME" />
        <Control Type="Edit" Id="txtbxpassword" Width="150" Height="17" X="131" Y="124"  Property="PROP_PASSWORD" Password="yes" />
      </Dialog> 
    </UI>
    </Fragment>
  <Fragment>
     <!-- This section is related to custom action-->
    <Binary Id="CABinary" SourceFile=".\CustomActionsFolder\CustomActions.CA.dll" />
    <CustomAction Id="UserNameAndPasswordCheck" BinaryKey="CABinary"  DllEntry="CheckUserNameAndPassword" Execute="immediate"/>
  </Fragment>
</Wix>

CheckUserNameAndPassword est le nom de la méthode.

Mon action personnalisée ne s'exécute pas du tout. J'ai une boîte de message dans mon action personnalisée ; elle ne s'affiche pas du tout et j'enregistre également le début et la fin de l'action. Dans le fichier journal, il n'y a rien qui soit lié à mon action personnalisée.

Quelle a été mon erreur ?

1voto

Stijn De Winter Points 26

Y avez-vous fait référence dans votre séquence InstallExecuteSequence ?

<Binary Id="CABinary" SourceFile=".\CustomActionsFolder\CustomActions.CA.dll" />
<CustomAction Id="UserNameAndPasswordCheck" BinaryKey="CABinary"  DllEntry="CheckUserNameAndPassword" Execute="immediate"/>

<InstallExecuteSequence>
    <Custom Action="UserNameAndPasswordCheck" After="InstallFinalize"/>
</InstallExecuteSequence>

Sinon, il ne sera pas exécuté. J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X