InstallShield:无法提取索引为0的图标(对于傻瓜)

时间:2013-03-11 20:09:35

标签: c# visual-studio-2012 installer installshield-le

是的,我先做了功课。我仍然被困住了。首先,请允许我对Microsoft弃用Installer项目类型表示不满。对他们感到羞耻。

回到我的问题,这是错误:

Error   3   -3204: Cannot extract icon with index 0 from file <some_path>\obj\Debug\MyProject.Gui.exe.

尝试#1:InstallShield: cannot extract icon with index 0 vb.net

- 答案是在我的exe中包含一个类型为icon的对象并重建。为此,我尝试了以下方法:

  1. 右键单击我的Windows窗体项目,添加新项目,图标,保存所有

  2. 在步骤1中打开图标文件,在其中绘制一些文字,保存所有

  3. 右键单击项目并选择rebuild(无错误,看起来不错)

  4. 左键单击“指定应用程序数据” - &gt;“文件”,在项目中选择* .ico(注意:我可以清楚地看到它列出,并在对话框中显示为index0)

  5. 左键点击“常规信息” - &gt; '显示图标' - &gt;浏览* .ico(位于MyProject.Gui.exe的项目文件夹中)

  6. 全部保存并重建所有

  7. ...我仍然收到相同的错误消息。

    如何“重新编译您的EXE以包含图标并且消息将消失”?

6 个答案:

答案 0 :(得分:13)

我有同样的问题。您的问题是因为您需要将图标嵌入可执行文件中。执行此操作的方法是在Visual Studio的“项目属性”窗口中(Alt-Enter或右键单击 - &gt;解决方案资源管理器中项目根目录的属性)。

在Application下的项目属性中,有一个名为Resources的组框。添加你的图标,如下图所示,安装盾将构建正常。

希望有所帮助。

enter image description here

答案 1 :(得分:3)

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

  1. 展开右侧面板上的部署解决方案(+)(解决方案资源管理器)
  2. 展开菜单“配置目标系统”
  3. 双击快捷方式文件夹
  4. 在这里,您将找到在项目向导中设置的2个输出。
  5. 选择其中一个,找到属性图标,点击(...)浏览属性图标。
  6. 对第二个输出内置解决方案执行相同的操作。
  7. 重建你的项目!
  8. 此致

答案 2 :(得分:1)

您需要将图标文件复制到Windows应用程序的debug文件夹才能成功编译。

答案 3 :(得分:1)

  1. 在配置目标系统下转到快捷方式/文件夹。
  2. enter image description here

    1. 从树中选择您的应用程序。
    2. 选择图标并将索引更改为2(或0以外的其他值) enter image description here
    3. 构建它。

答案 4 :(得分:0)

如果问题是您将图标与安装程序相关联并将其嵌入到应用程序中但仍然出现此错误,请尝试向防病毒软件添加文件夹例外。例外应该是源所在的文件夹,并输出可执行文件。

症状是您在构建期间随机出现此错误。它是由您的防病毒软件阻止installshield图标提取程序访问您的应用程序可执行文件引起的。

答案 5 :(得分:0)

这也发生在我身上。我的应用程序在后台运行,所以我没有为它创建一个Icon。发生此错误时,我分配了一个图标,一切都正常。