目前,我正在尝试将WixUIBannerBmp、WixUIDialogBmp和WixUILicenseRtf WixVariables以及它们对应的二进制文件移动到wixlib。不幸的是,在构建它时会忽略这些,并使用默认值。
我的Library.wxs:
<Fragment>
<WixVariable Id="WixUILicenseRtf" Value="licence.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="binaries/bannrbmp.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="binaries/dlgbmp.bmp" />
</Fragment>其中rtf和bmp文件包含在wixlib项目中,路径是相对于Library.wxs文件的。
有没有人知道为什么这不起作用?
谢谢
发布于 2011-06-14 20:55:49
我自己解决了这个问题!:)
首先,除非显式引用某些内容,否则片段不会自动包含到主Product.wxs中。在本例中,我使用了ARPPRODUCTICON属性。如果您没有任何可以使用的东西,您可以只添加一个永远不会使用的虚拟属性。
此外,二进制文件的路径将是不正确的,因为该路径将是相对于Product.wxs文件的。因此,您需要将Preprocessor变量用于当前项目路径。
Product.wxs
<Wix>
<PropertyRef Id="ARPPRODUCTICON" />
</Wix>Library.wxs
<Fragment>
<WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\adastra-licence.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)\Bitmaps\bannrbmp.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)\Bitmaps\dlgbmp.bmp" />
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
<Icon Id="icon.ico" SourceFile="$(var.ProjectDir)/App.ico"/>
<UIRef Id="WixUI_Common" />
</Fragment>https://stackoverflow.com/questions/6342442
复制相似问题