0

私は基本的なMSI installshieldプロジェクトをinstallshield 2016に取り組んでいます。ウィザードのステップでは、編集フィールドとテキスト領域があります。テキスト領域は実際にはエラーラベルです。 Visibleのテキストエリアコントロールのプロパティは、最初にfalseに設定されています。installshieldのウィザードでウィザードUIを更新する方法

編集フィールドに入力を入れた後、ユーザーはウィザードのステップでNext >ボタンを押します。ユーザーの入力に対していくつかの検証を実行し、ユーザー入力が有効な場合はプライベート・プロパティーIsUserInputValidを1に設定します。 IsUserInputValidプロパティの初期値は、HasValidationRunフラグの0の値は、私は以下のように編集テキストエリアコントロールを表示するためにイベントを追加しました振る舞いセクションで今すぐ0

です:

HasValidationsRun = 1 AND IsUserInputValid=0 

enter image description here

Next >ボタンをクリックすると、エラーラベルが表示されません。しかし、検証を通過する入力を変更すると、ウィザードは次のステップに移り、トランジションが起こる直前にラベルが1秒間表示されます。 Showイベントの条件を適切に定義した場合、UIがそれ自体で更新されなかった理由はわかりません。

+0

'IsUserInputValid'と' HasValidationRun'はどのように設定されていますか?私はそれがSetPropertyコントロールイベントではなくカスタムアクションであると仮定しています。もしそうなら、それは問題です。誰も私にそれを打つことができなければ、答えを書くことができます。 –

+0

はい。 'IsUserInputValid'変数は、カスタムアクションから返された整数値を格納します。 'Next 'ボタンをクリックすると、そのカスタムアクションが呼び出されます。 – RBT

答えて

0

プロパティを新しい値に設定するSetPropertyコントロールイベントを追加する必要があります。これは、変更されたプロパティ(または変更されたプロパティを含むテキストなど)を参照する条件を更新するようにUIに指示します。 Windowsインストーラは、プロパティを変更する他の手段を監視しません。私の関連の回答を参照してください。

関連する問題