使用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" />
这些值未按预期应用。
我错过了什么? 如何设置用户输入到我的属性?
答案 0 :(得分:1)
您希望在外部使用或设置的属性(例如来自命令行参数或不同的WiX源文件)必须具有完全大写的名称。