2

現在、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 ファイルからの相対パスです。

なぜこれが機能しないのか、誰にもアイデアがありますか?

ありがとう

4

1 に答える 1

7

自分でこれを解決することができました!:)

まず、何かが明示的に参照されない限り、フラグメントはメインの Product.wxs に自動的に含まれません。この場合、ARPPRODUCTICON プロパティを使用しています。使用できるものがない場合は、使用されないダミー プロパティを追加するだけです。

また、バイナリへのパスは、Product.wxs ファイルに対する相対パスになるため、正しくありません。したがって、Preprocessor 変数を現在のプロジェクト パスに使用する必要があります。

製品.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>
于 2011-06-14T12:55:48.770 に答える