Validation wix使用自定义操作验证文本输入

Validation wix使用自定义操作验证文本输入,validation,wix,Validation,Wix,我正在制作一个安装程序,现在,我想检查安装对话框中的用户输入 有人说应该使用自定义操作,现在我可以用C#编写自定义操作并将其嵌入安装程序,那么我应该如何进行输入验证 谢谢 如果要使用VBScript编写自定义操作,则需要首先在Product.wxs中定义它,类似于以下内容: <Binary Id="testDatabaseConnection" SourceFile="Scripts\testDatabaseConnection.vbs" /> <CustomAction Id

我正在制作一个安装程序,现在,我想检查安装对话框中的用户输入

有人说应该使用自定义操作,现在我可以用C#编写自定义操作并将其嵌入安装程序,那么我应该如何进行输入验证


谢谢

如果要使用VBScript编写自定义操作,则需要首先在Product.wxs中定义它,类似于以下内容:

<Binary Id="testDatabaseConnection" SourceFile="Scripts\testDatabaseConnection.vbs" />
<CustomAction Id="CA.TestDatabaseConnection" BinaryKey="testDatabaseConnection" VBScriptCall="testDatabaseConnection">1</CustomAction>

为了给您指明正确的方向,您可以使用C#自定义操作访问该值,并设置一个属性,指示是否可以继续。在UI中,您可以仅引用此属性。此外,如果性能是一个优先事项,您可能希望使用VBScript编写。NET自定义操作的加载和运行速度要慢得多。@codemonkeh谢谢!这正是我需要的。@codemonkeh嗨,你能再给我一些建议吗?目前我正在尝试使用vbscript定义操作,但如何触发该操作?“下一步”按钮和“编辑文本”位于同一对话框中,我想在单击“下一步”按钮时检查输入,因此该操作应在单击之前触发,那么如何触发它?谢谢
<Control Type="PushButton" Id="TestConnection" Width="93" Height="17" X="80" Y="243" Text="Test Connection">
  <!-- Validate the database connection -->
  <Publish Event="DoAction" Value="CA.TestDatabaseConnection" Order="1">1</Publish>
  <Publish Property="P.DATABASE_CONNECTION_VALID" Value="[P.DATABASE_CONNECTION_VALID]" Order="2">1</Publish>
</Control>
Session.Property("P.DATABASE_CONNECTION_VALID") = "1"