在安装过程中,Wix MSI未显示选择“目标文件夹”的屏幕

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在安装过程中,Wix MSI未显示选择“目标文件夹”的屏幕相关的知识,希望对你有一定的参考价值。

我在.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" />

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

严重级代码说明项目文件行抑制状态错误找到重复符号“CheckBox:LicenseAccepted”。这通常意味着Id是重复的。检查以确保给定类型(文件,组件,功能)的所有标识符都是唯一的。 MySample.Installer C: agent_work 8 s src ext UIExtension wixlib WelcomeEulaDlg.wxs 12

我错过了什么?

答案

更改对话框集:我会查找其他UIRef元素,并将对话框设置为“活动”的<UIRef Id="WixUI_Mondo" />。应该只有一个UIRef元素 - 如“Highlander风格”。成功重新编译后,您的目标文件夹对话框现在应该可用。

对话框集:WixUI_Mondo是随WX提供的built-in dialog sets之一,据您了解它支持自定义安装文件夹对话框(与其他一些对话框集不同)。我发现它是实际使用中更好的对话框,但意见明显不同。试试吧?


一些链接:

以上是关于在安装过程中,Wix MSI未显示选择“目标文件夹”的屏幕的主要内容,如果未能解决你的问题,请参考以下文章

WiX 安装程序 msi 未安装使用 Visual Studio 2017 创建的 Winform 应用程序

使用组策略部署时 WIX MSI 自定义操作未运行

如何使用 WiX 和 MSI 进行静默安装和卸载?

部署时 WIX MSI 应用程序未在用户帐户下启动应用程序

WiX“服务安装”究竟是如何在内部工作的?

Wix静默安装MSI我们可以停止创建目录吗