处理WIX警告的正确方法:LGHT1076:ICE48
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理WIX警告的正确方法:LGHT1076:ICE48相关的知识,希望对你有一定的参考价值。
我想将我的wix安装中的一个属性默认设置为一个硬编码目录。是否有一种“正确”的方式来编码默认值(请注意,这是一个内部项目,而不是分发给公众的东西),所以我没有得到以下警告:
LGHT1076: ICE48 Directory 'FOO' appears to be hardcoded in the property table to a local drive.
wix文件看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="22E1F223-E3AD-45F8-A394-1289AAAA64C8"
Name="MyService"
Language="1033" Version="1.0.0.0"
UpgradeCode="140F5A44-58DA-4364-876B-9D9484C04CD9">
<Package InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<Property Id="FOO" Value="C:\MyRootDirectory\" />
对此有何想法?
[如果您想遵循最佳实践(由于您提到它是“内部”安装程序,因此我不认为您在这里这样做),则永远不要使用硬编码路径。选择WindowsVolume
之类的属性,然后将WindowsVolume
恰好不是WindowsVolume
的情况设计为灵活的应用程序
如果您真的不在乎,可以在安装开始时使用自定义操作将属性设置为所需的属性。在UI和“执行序列”中提前安排的简单的Type 51 CA(设置属性)将很好地解决这一问题。这样,在运行验证时,该属性没有令人讨厌的值,但是在安装开始时立即获得了该值。
如果您只想将目录树中的某个目录作为属性引用,那么它本身就是受支持的。引用MSDN,“ C:
”
就我而言,要摆脱此警告,我选择从属性中删除默认值。例如,此(没有ICE48警告):
您可以结合使用<Property Id="VS2010INSTALLDIR" Value="0">
<RegistrySearch Id="VS2010_InstallDir" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\10.0" Name="InstallDir" Type="raw" />
</Property>
和<SetProperty>
元素来解决此问题:
以上是关于处理WIX警告的正确方法:LGHT1076:ICE48的主要内容,如果未能解决你的问题,请参考以下文章
错误 LGHT0204:ICE17:位图:控制的“WixUI_Bmp_Dialog”:对话框的“位图”:二进制表中找不到“WelcomeDlg”
WIX - 如何解决错误 LGHT0094:未解决的符号引用