【问题标题】:How to set Wix Property from UI which user can change during installation?如何从用户可以在安装期间更改的 UI 设置 Wix 属性?
【发布时间】:2021-10-08 00:33:59
【问题描述】:

我有 Wix 代码,它只是在给定位置安装一个 txt 文件

目标位置包含在属性THISONE

<Fragment>
  <Property Id="THISONE" Value="C:\MyFolder"/>
  <Directory Id='TARGETDIR' Name='SourceDir'>
    <Directory Id='APPLICATIONFOLDER' ComponentGuidGenerationSeed="{75266e3e-3781-47e3-ac29-46a2d90548f9}">
      <Directory Id='MyFolder' Name='MyFolder'/>
    </Directory>
  </Directory>
  <SetDirectory Id='APPLICATIONFOLDER' Value='[THISONE]' />
</Fragment>
  
<Fragment>
  <Component Id="Component1" Directory="MyFolder" Win64="yes">
    <File Id="FirstFile.txt"/>
  </Component>
</Fragment>

我想要一个最小的 UI,可能只有一个文本框,我可以在其中编辑属性值,以便更改目标安装文件路径。

我怎样才能做到这一点?

提前致谢

【问题讨论】:

    标签: wix filepath bootstrapper wix3


    【解决方案1】:

    WiXUIInstallDir 可能是您想要的,如the WiX documentation 中所述。

    <Directory Id='TARGETDIR' Name='SourceDir'>
        <Directory Id='APPLICATIONFOLDER' ComponentGuidGenerationSeed="{75266e3e-3781-47e3-ac29-46a2d90548f9}">
            <Directory Id='MyFolder' Name='MyFolder'/>
        </Directory>
    </Directory>
    
    <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
    <UIRef Id="WixUI_InstallDir" />
    

    您必须将属性WIXUI_INSTALLDIR 的值设置为您希望用户能够指定其位置的目录ID 的值,如上所示。然后将其传递给WixUI_InstallDir 对话框。注意目录ID必须全部大写。

    如果您使用的是 Visual Studio,则需要在您的 WiX 项目中添加对 WixUIExtension 的引用。详情请见here

    【讨论】:

      猜你喜欢
      • 2011-01-29
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2023-03-13
      相关资源
      最近更新 更多