当我构建我的Wix项目时,我收到以下错误:
E:\ Code \ PCPE \ Wix \ src \ ui \ WelcomeDlg.wxs(12):错误LGHT0204:ICE17:位图:控件的'WixUI_Bmp_Dialog':对话框的'位图':二进制表中找不到'WelcomeDlg'
在WelcomeDlg.wxs文件中代码是
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="130" Height="234" TabSkip="no" Text="!(loc.WelcomeDlgBitmap)" />
我们正在WixUI_en-us.wxl中为“WelcomeDlgBitmap”创建“Id”,如下所示:WixUI_Bmp_Dialog
我收到许多与此类似的错误,如下所示:
[exec] E:\ Code \ PCPE \ Wix \ src \ ui \ LicenseAgreementDlg.wxs(29):错误LGHT0204:ICE17:位图:控件的'WixUI_Bmp_Banner':对话框的'BannerBitmap':二进制表中找不到'LicenseAgreementDlg'
[exec] E:\ Code \ PCPE \ Wix \ src \ ui \ ExitDialog.wxs(15):错误LGHT0204:ICE17:位图:控件的'WixUI_Bmp_Dialog':对话框的'位图':二进制表中找不到'ExitDialog'
[exec] E:\ Code \ PCPE \ Wix \ src \ ui \ FatalError.wxs(10):错误LGHT0204:ICE17:位图:控件的'WixUI_Bmp_Dialog':对话框的'位图':二进制表中找不到'FatalError'
[exec] E:\ Code \ PCPE \ Wix \ src \ PCPE_Registry_entries.wxs(22):错误LGHT0204:ICE57:组件'RegistryEntries_Set1'包含每台用户和每台机器的数据以及每台机器的KeyPath。
[exec] E:\ Code \ PCPE \ Wix \ src \ PCPE_WiX_Installer_EN.wxs(53):错误LGHT0204:ICE57:组件'C_FL_apc.exe'包含每台用户和每台机器数据以及每台机器的KeyPath。
[exec] E:\ Code \ PCPE \ Wix \ src \ PCPE_WiX_Installer_EN.wxs(68):错误LGHT0204:ICE30:安装条件化组件会导致目标文件'mainserv.exe'安装在'[ProgramFilesFolder] \ APC \ PowerChute个人版由LFN系统上的两个不同组件组成:'ServiceExeComponent'和'component_COMMON'。这会破坏组件引用计数。
我用下面的Visual Studio设置 - >工具设置修复了这个问题,并设置了“抑制ICE验证”。我能继续这样做吗?
!(loc.WelcomeDlgBitmap)
- 它是在您的本地化WiX文件中定义的 - WixUI_en-us.wxl
文件?
我猜它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WelcomeDlgBitmap"> YOUR PATH HERE? </String>
</WixLocalization>
随着更多的字符串在那里 - 很难看到你是否有那个确切的字符串Id。搜索完全匹配?
将以下指令添加到定义安装程序UI的文件中:
<UIRef Id="WixUI_Common" />