<?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是方法名称。
我的自定义操作根本没有执行。我的自定义操作中有一个消息框;它根本没有显示,我也记录了操作的开始和结束。在日志文件中,它也没有显示与我的自定义操作相关的任何内容。
我的错误是什么?
答案 0 :(得分: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>
否则它确实不会被运行。 希望这有帮助