Tulasirao
Tulasirao

Reputation: 31

Custom action is not being executed

<?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 is the method name.

My custom action is not executing at all. I have a message box in my custom action; It is not at all showing and also I am logging the action start and end. In log file also it is not showing anything related to my custom action.

What was my mistake?

Upvotes: 3

Views: 64

Answers (1)

Stijn De Winter
Stijn De Winter

Reputation: 31

Did you reference it in your 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>

Otherwise it will indeed not be run. Hope this helps

Upvotes: 1

Related Questions