Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf InstallShield:无法提取索引为0的图标_Wpf_Visual Studio_Installshield - Fatal编程技术网

Wpf InstallShield:无法提取索引为0的图标

Wpf InstallShield:无法提取索引为0的图标,wpf,visual-studio,installshield,Wpf,Visual Studio,Installshield,当我构建setup.exe安装文件时,我似乎无法理解为什么会发生此错误 错误5-3204:无法从文件C:\dev\MyProj4\MyProjClientWpf\obj\x86\Release\MyProjClient.exe中提取索引为0的图标。ISEXP:错误:-3204:无法从文件C:\dev\MyProj4\MyProjClientWpf\obj\x86\Release\MyProjClient.exe中提取索引为0的图标 在快捷方式/文件夹部分,对于我生成的快捷方式,图标文件为空,图标

当我构建setup.exe安装文件时,我似乎无法理解为什么会发生此错误

错误5-3204:无法从文件C:\dev\MyProj4\MyProjClientWpf\obj\x86\Release\MyProjClient.exe中提取索引为0的图标。ISEXP:错误:-3204:无法从文件C:\dev\MyProj4\MyProjClientWpf\obj\x86\Release\MyProjClient.exe中提取索引为0的图标

在快捷方式/文件夹部分,对于我生成的快捷方式,图标文件为空,图标索引为0。无论默认图标是什么,我都没有指定一个,甚至不想要一个


有什么想法吗?

Windows Installer广告的快捷方式需要图标资源。在构建时,InstallShield将提取此资源并填充图标表。这个错误说明这是不可能的

最简单的解决方案是向项目中添加图标资源并重新生成EXE:

  • 在解决方案资源管理器中右键单击WPF项目,然后在菜单中选择属性
  • 在属性页面中,选择应用程序选项卡(应已选中)
  • 转到参考资料部分,单击图标字段右侧的(…)
  • 选择所需的.ico文件并单击“打开”

或者,您可以将快捷方式设置为“不播发”,当显示“开始”菜单时,Windows将为您解析默认图标。你会失去一些MSI的广告功能,所以我真的建议你只提供一个图标

我遇到了这个问题,我在网上尝试了很多解决方案,但唯一适合我的方法是:

  • 展开安装项目(解决方案资源管理器)
  • 展开菜单“配置目标系统”
  • 双击快捷方式文件夹

  • 在这里,您将找到在项目向导中设置的2个输出
  • 选择其中一个,并找到属性图标,单击到(…)以浏览属性图标
  • 对第二个一输出构建解决方案执行相同的操作
  • 重建您的项目
    关于,

    如果启用了创建快捷方式且未设置图标,则会出现此问题。 1.转到项目助手->应用程序快捷方式。 2.下载一些图标,浏览并选择它以使用备用快捷方式图标


    重建。

    简单解决方案:

    在安装向导时,在缺少 浏览资源路径后快捷方式的图像/图标。 缺少此项会导致此索引错误(请参阅屏幕截图)。之后 需要重新选择重建,这解决了问题


    请注意,新的WPF项目不包含图标,这就是为什么您建议在WPF项目中添加图标的原因。可以说InstallShield在这种情况下应该“提取”默认的.exe图标,但有人真的希望将其用于广告的快捷方式吗?这种方法的问题是,如果有人手动创建快捷方式,图标将不相同。最好只使用所需的默认图标构建EXE,并采用构建时图标提取的默认行为。最大的问题之一是假设读者在作者的内心。我不知道你在说什么。在查看解决方案资源管理器之后,我找到了“配置目标系统”,所以这个答案中的第一步是无用的。Visual Studio中没有+,部署解决方案是我的主项目还是我的InstallShield项目?“在这里,您将找到在项目向导中设置的2个输出。”这些输出是什么?我只看到设置快捷方式的文件夹,而不是输出项目。“单击(…)浏览属性图标”,然后呢?我需要设置一个图标吗?我需要删除图标吗?我需要看一下图标吗?