【问题标题】:Extended bootstrapper application changing logo扩展引导程序应用程序更改徽标
【发布时间】:2026-02-22 05:40:01
【问题描述】:

我使用 wix bootstrapper 扩展应用程序和 wixballextentionExt.dll 来制作单选按钮,但我无法更改徽标,因为我不能使用旧的 ballextention.dll。如何使用 balextentionEXT 更改徽标。什么是用于徽标的 WixVariable ıd?找到许可证和主题但找不到徽标。

   <BootstrapperApplicationRef  Id="WixExtendedBootstrapperApplication.RtfLicense"    >



  <Payload SourceFile="Logo.png"/>
  <Payload SourceFile="LogoSide.png"/>
  <Payload Name="1033\thm.wxl" Compressed="yes" SourceFile="1033\thm.wxl"   />
</BootstrapperApplicationRef>

<WixVariable Id="WixExtbaThemeXml" Value="thm.xml" />

<WixVariable Id="WixExtbaLicenseRtf" Value="Resources\EULA.rtf" />


<Variable Name="RadioClient" Type="numeric" Value="0" />
<Variable Name="RadioServer" Type="numeric" Value="0" />
<Variable Name="RadioFull" Type="numeric" Value="1" />

在旧的 balextention.dll 中,我使用了此代码,但现在我无法使用它。

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
       <bal:WixStandardBootstrapperApplication LicenseUrl="Resources\EULA.rtf" ThemeFile="thm.xml"
          LicenseFile="Resources\EULA.rtf"

        LogoFile="Resources\icon.png"   LogoSideFile="Resources\icon.ico"                               
      />


      <Payload Name="1033\thm.wxl" SourceFile="1033\thm.wxl" />
    </BootstrapperApplicationRef>

【问题讨论】:

    标签: installation wix burn wix-extension


    【解决方案1】:

    我找到了来自 BalCompiler.cs 的解决方案

     if (!String.IsNullOrEmpty(launchTarget))
                {
                    this.Core.CreateVariableRow(sourceLineNumbers, "LaunchTarget", launchTarget, "string", false, false);
                }
    
                if (!String.IsNullOrEmpty(launchTargetElevatedId))
                {
                    this.Core.CreateVariableRow(sourceLineNumbers, "LaunchTargetElevatedId", launchTargetElevatedId, "string", false, false);
                }
    
                if (!String.IsNullOrEmpty(launchArguments))
                {
                    this.Core.CreateVariableRow(sourceLineNumbers, "LaunchArguments", launchArguments, "string", false, false);
                }
    
                if (YesNoType.Yes == launchHidden)
                {
                    this.Core.CreateVariableRow(sourceLineNumbers, "LaunchHidden", "yes", "string", false, false);
                }
    
                if (!String.IsNullOrEmpty(launchWorkingDir))
                {
                    this.Core.CreateVariableRow(sourceLineNumbers, "LaunchWorkingFolder", launchWorkingDir, "string", false, false);
                }
    
                if (!String.IsNullOrEmpty(licenseFile))
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseRtf", licenseFile, false);
                }
    
                if (null != licenseUrl)
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLicenseUrl", licenseUrl, false);
                }
    
                if (!String.IsNullOrEmpty(logoFile))
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogo", logoFile, false);
                }
    
                if (!String.IsNullOrEmpty(logoSideFile))
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaLogoSide", logoSideFile, false);
                }
    
                if (!String.IsNullOrEmpty(themeFile))
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeXml", themeFile, false);
                }
    
                if (!String.IsNullOrEmpty(localizationFile))
                {
                    this.Core.CreateWixVariableRow(sourceLineNumbers, "WixExtbaThemeWxl", localizationFile, false);
                }
    

    现在我可以使用 Wix 扩展应用程序进行客户端数据库和完整安装。

    【讨论】: