The directory field is essentially the same as the file field except it the selection is limited to directories only, not single files.

<field type="dir" align="left" variable="existing.jboss.home">
  <spec txt="" size="25" set="$INSTALL_PATH$FILE_SEPARATOR${jboss.version}" mustExist="false"/>
</field>

The directory supports the following two special attributes for the <spec> element:

mustExist - optional (default: true) Specifies whether or not the selected path must be an existing directory.

create - optional (default: false) Specifies whether or not the selected directory should be created if it does not exist (requires mustExist=false).

Messages for the directory field can be customized by creating a custom lang pack and overriding the following values (attribute values wrapped for readability):

<str id="UserInputPanel.dir.nodirectory.message" txt="You must select a valid directory."/>
<str id="UserInputPanel.dir.nodirectory.caption" txt="No Directory Selected"/>
<str id="UserInputPanel.dir.notdirectory.message" txt="The directory you have chosen either does not exist or is not valid."/>
<str id="UserInputPanel.dir.notdirectory.caption" txt="Invalid Directory"/>

Note: Mixing directory fields with other fields that have text in front of them can lead to formatting (layout) issues. Placing these types of elements on different panels can provide a much better user experience.