我希望在我的WiX安装程序中验证端口号。使用下面的代码之一,我尝试检查数据库端口的值是否在1024和65535之间:
1. <Publish Event="SpawnDialog" Value="InvalidPortNumber"><![CDATA[(DATABASE_PORT < 1024 OR DATABASE_PORT > 65535)]]></Publish>
2. <Publish Event="SpawnDialog" Value="InvalidPortNumber"><![CDATA[(DATABASE_PORT < "1024" OR DATABASE_PORT > "65535")]]></Publish>
但是,如果用户写入的端口号小于1024,则它们都不会发布生成对话框。对于大于65535的值,一切都很好。
端口号设置为:
<Control Id="DatabasePortText" Type="MaskedEdit" X="20" Y="120" Width="50" Height="15" Property="DATABASE_PORT" Text="######"/>
如何解决此问题?
答案 0 :(得分:1)
问题是你的属性被视为字符串,因此<
和>
在它应该的方式上没有任何意义。
您有两种选择:
Edit
控件并将Integer
属性设置为是:<Control Type="Edit" Integer="yes" .../>
。这将确保将该属性视为整数。MaskedEdit
,当您按下Next
按钮时,将执行自定义操作,该操作可将字符串属性转换为整数属性。