2016-05-03 120 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是方法名稱。自定義操作未被執行

我的自定義操作根本沒有執行。我在自定義操作中有一個消息框;它並沒有顯示出來,而且我正在記錄動作的開始和結束。在日誌文件中,它也沒有顯示任何與我的自定義操作相關的內容。

我的錯誤是什麼?

+1

嘗試定義在標籤,而不是在一個片段自定義操作和二進制。如果它在元素中被引用,我認爲它們不會被正確引用。因此,與二進制和CustomAction您的片段只是丟棄在預處理時間。 –

回答

1

您是否在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> 

否則它確實不會運行。 希望這有助於

相關問題