2016-05-03 15 views
3
<?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 ist der Methodenname.Benutzerdefinierte Aktion wird nicht ausgeführt

Meine benutzerdefinierte Aktion wird überhaupt nicht ausgeführt. Ich habe ein Meldungsfeld in meiner benutzerdefinierten Aktion. Es zeigt gar nicht und ich protokolliere auch den Start und das Ende der Aktion. In der Protokolldatei wird auch nichts angezeigt, das sich auf meine benutzerdefinierte Aktion bezieht.

Was war mein Fehler?

+1

Versuchen Sie, Ihre benutzerdefinierte Aktion und Binär in Ihrem Tag statt in einem Fragment zu definieren. Ich glaube nicht, dass sie richtig referenziert werden, wenn es in einem Element referenziert wird. Also wird Ihr Fragment mit der Binary- und CustomAction-Funktion gerade zur Vorverarbeitungszeit verworfen. –

Antwort

1

Haben Sie in Ihrer InstallExecuteSequence darauf Bezug genommen?

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

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

Andernfalls wird es in der Tat nicht ausgeführt werden. Hoffe, das hilft

Verwandte Themen