WiX:在安装MSI期间显示"复制新文件文件:[1],目录:[9],大小[6]"

Pet*_*cej 7 windows-installer wix

最近,我注意到在安装我们在WiX 3.11 + VS 2017中创建的MSI时出现奇怪的文本消息.我看到" 正在复制新文件文件:[1],目录:[9],大小[6] "文本:

在此输入图像描述

同样,我在卸载过程中会得到以下内容:

在此输入图像描述

这发生在最新的Windows 10 Pro build 15063.296上.我想我之前没有注意到这个问题.我在Win 7上尝试了相同的安装程序,这些安装程序在一段时间内没有更新,并且它正常工作(或更好):

在此输入图像描述

根据本页截图,我想我并不孤单.但我找不到任何信息.你有同样的问题吗?如果是的话,有没有办法解决它?

Pet*_*cej 13

我找到了解决方案.我只需要在主wxs的<Product>标记内添加以下行:

<UIRef Id="WixUI_ErrorProgressText" />
Run Code Online (Sandbox Code Playgroud)

说明

如果没有上面提到的行,我的MSI包使用Windows Installer for ActionText中的库存消息,请参阅本教程.看来,在早期版本的Windows中,这些消息与Wix提供的消息完全相同.这就是为什么我在Win 7中获得了正确的" 复制新文件 "但在最新的Win 10中错误的" 复制新文件文件:[1],目录:[9],大小[6] ".

添加对WixUI_ErrorProgressText的引用后,将使用Wix定义的消息(这些消息是正确的),一切正常.

注意

在Wix中,还定义了以下模板(这首先使我感到困惑):

" 文件:[1],目录:[9],大小[6] "

但是,如果您希望在安装过程中看到文件名及其大小,那就错了.Wix中的ProgressDlg不显示它.如果您需要此信息,则需要覆盖该对话框并显式添加ActionData文本.我没有测试它.看看它是如何在PrepareDlg中完成的.