2014-12-18 1 views
0

WiX 설치 프로그램에서 포트 번호 유효성 검사를하고 싶습니다. 사용자가 포트 번호 1024 이하를 기록하는 경우WiX에서 CDATA를 사용하여 포트 값 확인

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 사이의 값을 가지고 있는지 확인하려고합니다. 65535보다 큰 값에 대해서는 모든 것이 잘 작동합니다.

<Control Id="DatabasePortText" Type="MaskedEdit" X="20" Y="120" Width="50" Height="15" Property="DATABASE_PORT" Text="######"/> 

가 어떻게이 문제를 해결할 수

:

포트 번호에 설정되어 있습니까?

답변

1

문제는 귀하의 속성이 문자열로 취급되므로 <>은 실제로해야하는 방식으로 이해가되지 않습니다.

당신은 두 가지 선택이 있습니다

  • 사용 Edit 제어를 그래로 Integer 속성 설정 : <Control Type="Edit" Integer="yes" .../>합니다. 이렇게하면 속성이 정수로 처리됩니다.
  • MaskedEdit을 사용하고 Next 버튼을 누르면 문자열 속성을 정수 속성으로 변환 할 수있는 사용자 지정 동작이 실행됩니다.
+0

또한 작동하지 않습니다. 내 질문을 편집하고 DATABASE_PORT 속성이 설정된 컨트롤에 코드를 추가했습니다. 어쩌면 버그가 생길 수도 있습니다. – Arek

+0

@Arek 답변을 업데이트했습니다. –

+0

저에게 맞습니다. 감사!:) – Arek