Wix MSI 在安装期间未向 select 和 "Destination Folder" 显示屏幕

Wix MSI is not showing screen to select the "Destination Folder" during installation

我的 .wxs 文件中有以下代码

<Directory Id="TARGETDIR" Name="SourceDir">

  <!-- Start Menu -->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="InstallProgramMenuFolder" Name="!(loc.ProductNameFolder)" />
  </Directory>

  <?if $(var.Platform)=x64 ?>
    <!-- Program Files (64bit) folder -->
    <Directory Id="ProgramFiles64Folder">
      <Directory Id="INSTALLFOLDER" Name="!(loc.ProductNameFolder)" />
    </Directory>
  <?else?>
    <!-- Program Files (32bit) folder -->
    <Directory Id="ProgramFilesFolder">
      <Directory Id="INSTALLFOLDER" Name="!(loc.ProductNameFolder)" />
    </Directory>
  <?endif?>

</Directory>

MSI 已成功创建,但未显示 Destination Folder 选择屏幕。许可协议后,它开始安装并且文件被复制到默认 C:\Program Files (x86)

我试着添加这个

         <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
         <UIRef Id="WixUI_InstallDir" />

但这显示了大量的构建错误

Severity Code Description Project File Line Suppression State Error Duplicate symbol 'CheckBox:LicenseAccepted' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. MySample.Installer C:\agent_work\s\src\ext\UIExtension\wixlib\WelcomeEulaDlg.wxs 12

我遗漏了什么吗?

更改对话框集:我会寻找其他 UIRef 元素 并更改对话框在 "active" 中设置为 <UIRef Id="WixUI_Mondo" />。应该只有一个 UIRef 元素 - 如 "Highlander style" 中所示。重新编译成功后,您的目标文件夹对话框现在应该可用。

Dialog SetsWixUI_Mondo is one of the built-in dialog sets WiX 随附,如您所知,它支持自定义安装文件夹对话框(不同于一些其他对话集)。我发现它是实际使用中更好的对话集,但意见明显不同。测试一下 运行?


部分链接: