【问题标题】:WIX Icon doesnt work properlyWIX 图标无法正常工作
【发布时间】:2021-10-23 05:57:57
【问题描述】:

我有 WIX 脚本:

<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Property Id="ALLUSERS" Value="1" />
<Icon Id="icon.ico" SourceFile="{MY PATH}"/>
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
<Property Id="FINDPUBLICDIR">
  <RegistrySearch Id="Registry" Type="raw" Root="HKCU" Key="Software\$(var.Manufacturer)\$(var.ProductName)" Name="Location"/>
</Property>
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

    <MediaTemplate EmbedCab="yes" />

<FeatureRef Id="Feature" />

</Product>

一切正常,但我的图标在添加/删除程序中仍然是默认的。

(路径没问题,因为如果我设置错误/不存在的路径我会得到编译错误)

(我尝试更改InstallerVersion,但没有任何反应)

有谁知道哪里出了问题?

【问题讨论】:

  • 你得到这个固定的 Vadim 了吗?
  • @SteinÅsmul 谢谢,但不,你的回答没有帮助,我尝试了一切,我仍在寻找解决方案
  • 我会用Orca检查完成的MSI,检查Icon table以查看是否存在正确的条目,如果它尝试提取图标文件来验证它。
  • @SteinÅsmul 谢谢,我得试试,如果有帮助,我会告诉你的
  • @SteinÅsmul "Orca" 显示表 "Icon" 存在,然后我已将二进制数据从那里导出到文件,文件大小与我的 *.ico 文件相同

标签: c# .net wix windows-installer


【解决方案1】:

错字:一个常见的错误是属性名称中的错字,您可以在此处看到:Wix icon in Add/Remove programs,但这里不是这种情况(此信息是为遇到相同问题并找到您的问题的其他人添加的)。

Ico File:对于这种情况,那是图标文件的硬编码路径吗? EXE 文件的路径是否包含图标?我记得你需要一个正确的*.ico 文件,而不是指向的可执行文件。有一段时间没有使用此功能,目前无法测试,但试一试:确保指向真正的 *.ico 文件。您可以使用 Visual Studio 提取 ico 文件。将文件作为资源打开(文件 => 打开 => 现在指定资源)。 Video.

Bundle:您是通过捆绑包安装的吗?如果是这样,则为捆绑包指定 ARP 图标,而不是(仅)为 MSI:Bundle ElementIconSourceFile 属性(参见链接 - 指向 bundle 元素以及下方)。


一些安全链接:

【讨论】:

    猜你喜欢
    • 2020-06-19
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多