如何在WIX安装程序上为我的属性设置用户输入

时间:2017-08-23 07:16:54

标签: wix

使用WiX我正在安装网络打印机。

我的代码如下:

制作一些属性:

<Property Id='IpAddress' Value='10.2.17.12' />
<Property Id='PortName' Value='MY_TCP_PORT' />
<Property Id='DeviceName' Value='MY PRINTER'/>

使用自定义操作运行命令:
请注意,这些命令使用我的属性值。

<CustomAction Id='CreatePort' Directory='TARGETDIR' Execute='deferred' ExeCommand='cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\prnport.vbs -a -r [PortName] -h [IpAddress] -o raw' Return='check'  Impersonate="no"/>

<CustomAction Id='InstallnetworkPrinter' Directory='TARGETDIR' Execute='deferred' ExeCommand='rundll32 printui.dll,PrintUIEntry /if /b "[DeviceName]" /f "[PrinterFolder]SIELPRNDRV.inf" /r [PortName] /m "[DeviceName]" /z' Return='check'/>

这很好用,但我需要使用用户的IPaddress,PortName和DeviceName的输入值。我已经建立了一个对话框来输入这些值。

控件如下:

<Control Id ="IPAddress" Type="Edit" Property="IpAddress" X="150" Y="60" Width="100" Height="17" />
<Control Id ="PortName" Type="Edit" Property="PortName" X="150" Y="80" Width="100" Height="17" />
<Control Id="DeviceName" Property="DeviceName" Type="Edit" X="120" Y="69" Width="170" Height="17" Hidden="yes" />

这些值未按预期应用。

我错过了什么? 如何设置用户输入到我的属性?

1 个答案:

答案 0 :(得分:1)

您希望在外部使用或设置的属性(例如来自命令行参数或不同的WiX源文件)必须具有完全大写的名称。