Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net WIX工具集如何设置属性_.net_Visual Studio 2012_Wix - Fatal编程技术网

.net WIX工具集如何设置属性

.net WIX工具集如何设置属性,.net,visual-studio-2012,wix,.net,Visual Studio 2012,Wix,这似乎应该是直观的,但到目前为止,它是什么,但不是。当自定义对话框首次打开时,如何简单地设置我在product.wxs中定义的属性 我的属性称为“端口”,初始化为空。我有另一个称为“df_端口”,我将其设置为“8080”。(这些在我的Product.wxs中设置)当我的自定义对话框打开时,我想将“Port”设置为“df_Port”。我在对话框上还有一个编辑控件,它的“属性”设置被设置为“端口”。显然,用户应该能够更新端口,但是如果他们点击“返回”按钮,但最终返回到该对话框,编辑控件的默认值应该返

这似乎应该是直观的,但到目前为止,它是什么,但不是。当自定义对话框首次打开时,如何简单地设置我在product.wxs中定义的属性

我的属性称为“端口”,初始化为空。我有另一个称为“df_端口”,我将其设置为“8080”。(这些在我的Product.wxs中设置)当我的自定义对话框打开时,我想将“Port”设置为“df_Port”。我在对话框上还有一个编辑控件,它的“属性”设置被设置为“端口”。显然,用户应该能够更新端口,但是如果他们点击“返回”按钮,但最终返回到该对话框,编辑控件的默认值应该返回到“8080”

我尝试过SetProperty,但它需要Before或After属性,对此我没有任何线索。我还尝试创建CustomAction,但这也不起作用:

<CustomAction Id="caPort" Property="Port" Value="[df_Port]"/>

控件显示为空白,而不是“8080”


我使用的是Wix 3.9 R2,没有人回答或评论我的问题。然而,经过反复试验,我想出了一个解决办法。我想我应该把它放在这里,以防其他人也有同样的问题

1) 首先,我必须将属性命名为全大写。因此,在我的product.wxs中,我声明:

<Property Id="DF_PORT" Value="8080" Secure="yes"/>
<Property Id="PORT" Secure="yes"/>

2) 然后,我添加一个发布标记并附加到自定义配置对话框前面对话框的下一个按钮:

<Publish Dialog="PrecedingDialogName" Control="Next" Property="PORT" Value="[DF_PORT]">1</Publish>
1
3) 在自定义对话框中,我仅将编辑控件绑定到端口属性:

<Control Id="Port" Type="Edit" X="130" Y="88" Width="60" Height="16" Property="PORT" Text="{\WixUI_Font_Normal}" Integer="yes" RightAligned="yes" />

控件将显示默认值。如果我编辑该值,然后点击“后退”按钮,步骤2将重新加载默认值,而不是记住用户键入的内容


在使用WIX工具集工作了几周之后,我可以诚实地说,这是我见过的最糟糕、最不直观的开发作品之一

谢谢你发布答案,这是一个很大的帮助