- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在使用 WiX 时遇到了一些问题。我当前的警告是 ICE60,它告诉我我的 .ttf 文件不是字体,并且它的版本不是配套文件引用。它应该在“语言”列中指定一种语言。
此警告的问题是我无法为文件设置语言版本。根据有关此警告的 MSDN 文档,我可以通过向字体文件添加版本来抑制它。不完全确定如何!
我的下一个警告是 ICE69,不匹配的组件引用。快捷方式表的条目“ApplicationStartMenuShortcut”属于组件“ApplicationShortcut”。但是,“目标”列中的格式化字符串引用属于组件“MyApp.exe”的文件“MyApp.exe”。组件具有相同的功能。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?include "config.wxi"?>
<Product Id="*" UpgradeCode="67bd6fc7-c75b-434b-a305-2808541f8185" Version="1.0.0.0" Language="1033" Name="MyApp" Manufacturer="MyApp">
<Package InstallerVersion="300" Compressed="yes"/>
<Media Id="1" Cabinet="MyApp.cab" EmbedCab="yes" />
<PropertyRef Id="NETFRAMEWORK45" />
<Condition Message="This application requires .NET Framework 4.5. Please install the .NET Framework then run this installer again.">
<![CDATA[Installed OR NETFRAMEWORK45]]>
</Condition>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="MyApp">
<Directory Id="RESOURCESDIRECTORY" Name="Resources" />
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="MyApp"/>
</Directory>
</Directory>
<Icon Id="_MyApp.ico" SourceFile="$(var.SourceDir)\Resources\MyApp.ico" />
<Property Id="ARPPRODUCTICON" Value="_MyApp.ico" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="MyApp.exe" Guid="*">
<File Id="MyApp.exe" Source="$(var.SourceDir)\MyApp.exe" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="Xceed.Wpf.Toolkit.dll" Guid="*">
<File Id="Xceed.Wpf.Toolkit.dll" Source="$(var.SourceDir)\Xceed.Wpf.Toolkit.dll" KeyPath="yes" Checksum="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="RESOURCESDIRECTORY">
<Component Id="MyApp.ico" Guid="*">
<File Id="MyApp.ico" Source="$(var.SourceDir)\Resources\MyApp.ico" KeyPath="yes" />
</Component>
<Component Id="FontAwesome.ttf" Guid="*">
<File Id="FontAwesome.ttf" Source="$(var.SourceDir)\Resources\FontAwesome.ttf" KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyApp"
Description="Off-browser chat client for MyApp"
Target="[#MyApp.exe]"
WorkingDirectory="APPLICATIONROOTDIRECTORY" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\Microsoft\MyApp" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MyApp.exe" />
<ComponentRef Id="Xceed.Wpf.Toolkit.dll" />
<ComponentRef Id="MyApp.ico" />
<ComponentRef Id="FontAwesome.ttf" />
<ComponentRef Id="ApplicationShortcut" />
</Feature>
</Product>
</Wix>
尽管有这两个警告,该应用程序仍能正常安装和运行。虽然谁喜欢警告,嗯?
非常感谢对这些错误的任何帮助,我不想完全压制它们,以防万一存在潜在问题。
最佳答案
关于 ICE69 警告,我想我会就此提供更全面的讨论,因为我自己刚刚经历过这个......
来自MSDN documentation for ICE69 :
Problems with cross-component referencing arise from the way formatted strings are evaluated. If the component referenced with the [$componentkey] property is already installed and is not being changed during the current installation (for example, being reinstalled, moved to source, and so forth), the expression [$componentkey] evaluates to null, because the action state of the component in [$componentkey] is null. Similar problems can occur during upgrade and repair operations.
文档继续解释当引用跨越不同功能的组件时,消息是一个错误,因为定义功能可能没有安装,而引用功能是,导致字符串的空值。
当两个组件具有相同的功能时,大概是因为一个组件只与另一个一起安装,所以可以安全地使用该字符串。因此您会收到警告,表明您正在做一些可能不安全但可能会奏效的事情。
有很多方法可以解决这个问题,包括:
[!...]
而不是 [#. ..]
并欺骗编译器忽略该问题。来自 the MSI documentation :If a substring of the form [!filekey] is found, it is replaced by the full short path of the file, with the value filekey used as a key into the File table. This syntax is valid only when used in the Value column of the Registry or the IniFile tables. When used in other columns this syntax is treated the same as [#filekey] .
换句话说,通过在实际未使用语法的情况下使用 [!...]
语法,编译器不会进行分析来处理警告[#...]
语法,但最终 MSI 仍将其视为该语法。您已经有效地从编译器中隐藏了该格式化字符串。
Target
属性,并且没有格式化字符串)。关于xml - Wix - ICE60 和 ICE69 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320334/
刚读 this article ,这让我很想知道加快谈判阶段的好处。我正在开发一个应用程序,其中我使用的是仅使用 ICE 的第三方实用程序,但最终将在下一个版本中升级为涓流 ICE。升级需要相当多的代
您好,我使用 Zeroc Ice 通信库 (v3.4.2) 编写了一个 C# 客户端/服务器应用程序。 我正在从服务器传输一系列对象,然后以表格格式在客户端中显示它们。很简单。 我定义了以下切片类型
未捕获的 DOMException:构建“RTCPeerConnection”失败:当 URL 方案为“turn”或“turns”时,需要用户名和凭据。 我收到这个错误是因为我使用的是 ice 服务器
我的本地计算机上的 WiX 遇到一些奇怪的问题。该问题是间歇性的,但在对解决方案进行几次重建后,WiX 项目开始抛出 ICE 验证错误。 如果我进入 AppData\Local\Temp 文件夹并
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 个月前。 Improve this q
我使用 WiX 3.5 构建了一个安装程序。安装程序使用 VB6 合并模块。我总是从与此类似的灯光中收到很多错误消息: error LGHT0204: ICE03: Table: Class Colu
我正在尝试使用 TFS 将 WiX 集成到我的自动构建解决方案中2010 运行于 Windows Server 2008 R2。一切似乎都很简单,然后我明白了: light.exe: Error ex
我正在遵循 Licode page 上的指南 我已经在 Ubuntu 14.04 上安装了所有内容。 我已经在 licode_config.js 中为 licode 和 erizo Controlle
我正在使用 WebRTC API 在运行在 chrome 浏览器上的两台 PC 之间进行视频通话。我的观察是只有当我连接到互联网时才会生成 ICE 候选者,否则不会生成 ICE 候选者。为什么会这样?
我的树表中有很多命令链接,我动态构建它们,如果我想在单击一个命令链接时更改它的颜色,所有命令链接都会更改它们的颜色,我不知道如何做更改此指定链接的颜色,因为我不知道她的号码或 ID,如果有人知道答案,
假设我有这样的功能(在 Javascript 中): 功能乐趣(success_cb,error_cb){ 变量结果; 尝试 { 结果 = function_that_calculates_resul
不要在 safari 中工作示例 https://github.com/Kurento/kurento-tutorial-node/tree/master/kurento-one2many-call
视频通话在同一网络内工作正常。问题是在其他网络上调用计算机时,远程视频不显示。在 chrome 上,我在控制台中没有收到任何错误,但在 firefox 控制台上,我收到了“ICE Failure”。
我遇到了 ZeroC ICE 字典语法的新手问题。这是我尝试过的方法,但似乎没有任何效果。 /*What I want to make >*/ dictionary> FlightSchedule;
此菜单不适用于任何 IE 版本。我怎样才能让它工作? 我也想添加过渡,有没有办法添加它以便从顶部缓慢打开? http://tinyurl.com/7rxskdj #nmenu {width:700px
我正在开发两个对等点之间的信号系统,并注意到 RTCPeerConnection.onicecandidate 事件没有触发。我检查了 iceGatheringState,它总是返回"new",这意味
我想利用 ICE Faces fileInput 控件根据用户选择的文件为网页上的输入字段输入文件路径和文件名。如何在不实际执行任何文件传输操作的情况下捕获这些属性? 最佳答案 我相信真正的答案是你不
我已经阅读了 RFC 5389 和 RFC 5245 以及更新的 RFC 8445。我了解 STUN 如何返回服务器反身地址或中继地址。请求被发送到 STUN 服务器。 我的基本问题是关于使用 STU
我正在开发一个 iOS 应用程序,使用 WebRTC 与 RTCDataChannel 进行点对点数据通信。当两个设备都在同一个 wifi 网络上时,我已经设法让一切正常工作,但是当我将 1 放在移动
我正在尝试建立 b/w 两个对等点的 p2p 音频/视频连接。以下:Getting started with WebRTC . 它在我家的两台 PC 之间的 LAN 环境中运行良好,但在运行时抛出错误
我是一名优秀的程序员,十分优秀!