使用 WIX 通过用户输入设置属性值

Posted

技术标签:

【中文标题】使用 WIX 通过用户输入设置属性值【英文标题】:Set property value through user input using WIX 【发布时间】:2014-08-27 14:14:00 【问题描述】:

MyWixUI_InstallDir.wxs:

我的自定义对话框有:

      <Control Id="DBServer" Type="Text" X="20" Y="60" Width="290" Height="13" 
       NoPrefix="yes" Text="Name of the SQL Server to deploy the DTA script" />
      <Control Id="DBSText" Type="Edit" X="20" Y="72" Width="290" Height="18" 
       Property="DTAServer" />

产品.wxs:

         <util:XmlFile Id="AppConfigSetConnStr" Action="setValue" Permanent="yes" File="[INSTALLLOCATION]TestService.exe.config"            
           ElementPath="/configuration/startup/supportedRuntime[\[]@version='v4.0'[\]]" Name="version"
         Value="----" />

如何将“值”设置为与用户通过 UI 输入的内容相同,或者如何访问 Product.wxs.Kindly 帮助中的属性“DTAServer”。

【问题讨论】:

【参考方案1】:

必须声明一个全局属性(所有字母大写) 例如

  <Property Id="ABC"/>

在 Product.wxs 和 MyWixUI_InstallDir.wxs 中使用相同的属性。

【讨论】:

感谢“所有大写字母”!这拯救了我的一天!

以上是关于使用 WIX 通过用户输入设置属性值的主要内容,如果未能解决你的问题,请参考以下文章

Wix - 自定义操作返回代码 - 处理

使用 wix 安装程序,当用户在编辑框中输入内容时安装时我如何在设置过程中覆盖配置文件

Wix 工具集 - 将属性设置为用户配置文件文件夹路径和程序文件

在 WIX 中运行时为快捷方式动态分配名称

如何在 Wix 中添加命令行参数

WiX - 从上一个对话框设置属性