您可以创建一个 UserInputPutPannel
, 并从用户那里获得可变路径。 然后您可以在任何您想要的地方使用变量替换。 您需要添加一个 userInputSpec. xml
文件, 并定义您自己的面板( 任意多少次) 。 要获取目录, 请使用 < code@ lt; field type= "dir"... & gt; code>
示例 userInputSpec.xml
来自我的应用程序。我包括安装器的蒙戈DB, 并用它来获取某些设置 。
<userInput>
<panel order="0">
<createForPack name="MongoDB" />
<!-- Other settings like port, ip, username, password-->
<field type="staticText" align="left" txt="Select the catalogue where data will be stored." id="staticText.registry.db.data.text" />
<field type="dir" align="left" variable="mongo.data.dir">
<spec txt="Data directory" size="25" set="$INSTALL_PATHdata" mustExist="false" create="true" />
</field>
</panel>
<panel order="1">
<!-- definition of a second panel -->
</panel>
</userInput>
您还需要将 userInputSpec.xml
作为一种资源包含在您的主要安装文件中,并为您在 userInputPec.xml
中定义的每个面板添加一个 UserInputPann
元素。
类似( 在 元素中 ) :
<resources>
<!-- other resources -->
<res id="userInputSpec.xml" src="userInputSpec.xml" />
</resources>
<panels>
<panel classname="HelloPanel"/>
<panel classname="InfoPanel"/>
<panel classname="LicencePanel"/>
<panel classname="TargetPanel"/>
<panel classname="TreePacksPanel"/>
<panel classname="UserInputPanel"/>
<panel classname="UserInputPanel"/>
<panel classname="InstallPanel"/>
<panel classname="ShortcutPanel"/>
<panel classname="FinishPanel"/>
</panels>
notice the double occurence of
I have two panels defined in my userInputSpec
确保您的 UserInputPartners
出现在 InstallPannel
之前,因为您必须在复制文件前从用户处获取变量 。
这只是我应用程序中的一个例子。 请参看官方文件, 以便了解我所使用的元素和属性的含义。 与用户输入相关的功能很多 。