cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Mike2013
Level 2

Cannot extract icon with index 0 from file ...

Hi,

After three years, I am suddenly getting the above error. The error number is -3204, and during the build process the error occurs at the part where the Display Icon in the Control Panel is being extracted for ARPProductIcon.exe. My Display Icon field points to an ICO file that has been in use since 2010.

The versions are "Installshield Premier Edition SP1 with hotfix 52410" and "Windows 7 Enterprise SP1".

The problem started suddenly yesterday. I have 37 different projects (which all result in DLLs, because these are Office add-ins) and the error occurs in all the projects I have tried so far (including 32-bit and 64-bit). I repeat that prior to yesterday, for the last three years everything was perfect, and builds were done on a mostly weekly basis.

Automatic updates of the OS are not allowed, but in an attempt to fix the problem I have done the following:

Rebooted
Ran chkdsk
Ran Disk Cleanup
Updated the OS
Ran a "Repair" operation from Control Panel on the Installshield build
Manually deleted the temporary build folders in the Installshield project folder

Still no joy. So, I began changing the ICO file to other ones (including pointing the Display Icon field to ISDEV.exe). No icons are being successfully extracted from ICO files or EXE files. If I take the ICO file out, then the project builds successfully.

I have checked the ICON table in the Direct Editor, and there is an entry that looks normal: "[ARPPRODUCTICON.exe] [Binary Data] [MyICOFile.ico] [0]". To be safe, I have deleted (dropped) that row, then tried a rebuild. I also tried adding the ICO again from the Project Assistant view instead of the Installation Designer view.

Does anyone have any experience with this error or does anyone have any suggestions to get this working?

Thanks!

Mike
Labels (1)
0 Kudos
(11) Replies
Cary_R
Level 11

Mike,

I recall that there was an InstallShield update that changed some API that was used on the back-end to read *.ico files. And then this behavior started happening, because it would no longer allow malformed *.ico files (notably *.ico files without the icon file header, and instead using a bitmap header).

I would just open up your icon file in a hex editor (or even notepad) and see if it starts with the characters 'BM'. If that is the case, try saving it with an Icon editor, and building again.

If this proves to be the issue, I'm not sure when this was fixed. InstallShield Support should be able to track that down for you.

Regards,

Cary
0 Kudos
kevinpm
Level 4

Still happens with Installshield 2013. All I can do is keep rebuilding and it may randomly select some other file that it cannot extract an icon from (that definitely does have an icon), and eventually get a build to go through without changing anything other than the earth rotating. Happens on three different computers in three different locations and has happened since Installshield 2010.
0 Kudos
jeff12345678910
Level 4

I have had the same random problem for the past year.

Flexera - are you listening??????????
0 Kudos
Cary_R
Level 11

It may help if you mention the version of InstallShield you're seeing this with, and also post an icon file (or a file that contains an icon) that produces the error.

I've seen corrupt icon files as well that cause this issue, or sometimes even crash IS.
0 Kudos
jeff12345678910
Level 4

Hi Cary,

I'm using IS 2013 LE. The icon file I'm using is the standard IS setup.ico that ships with IS.

\redist\Language Independent\OS Independent\setupicon.ico

The build fails about 30% of the time because of this error.
C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.targets(108, 3): -3204: Cannot extract icon with index 0 from file C:\TeamCity\buildAgent\work\258316e5d2bb2bf4\icon.ico.

It fails from the IDE and from MSBUILD. I also get random exception crashes like the following...
c:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.targets(108, 3): Exception Caught

This happens on our build machine and 2 other developer machines. All with the same random occurrence.

What is the method I can use to debug and resolve this?

Jeff.
0 Kudos
Cary_R
Level 11

I would first try a sanity check and do a binary diff between the file on the InstallShield machine:

\redist\Language Independent\OS Independent\setupicon.ico

And the file as mentioned on the build machine:

C:\TeamCity\buildAgent\work\258316e5d2bb2bf4\icon.ico

My guess is something is getting screwed up along the way, which chokes the build process.

If it appears identical, then at least we can rule out file format as the issue.
0 Kudos
jeff12345678910
Level 4

Hi Cary,

I copied the setupicon.ico over my icon file to be sure I have a non-corrupted version. I still see the error.

Can you get any information from the development team about why this error would occur?

Thanks,

Jeff.
0 Kudos
Cary_R
Level 11

Hi Jeff,

I unfortunately can't get more info from the Development team, as I no longer work for Flexera.

I contribute to these forums still under the same account because I like helping people, and find it interesting.

The Dev's do read these threads, though. So perhaps any listening can chime in on potential causes. In a worst case scenario, I would reach out to Technical Support and see what they say.
0 Kudos
jeff12345678910
Level 4

Cary - you are a genius! The problem was my antivirus software. I disabled it and the build doesn't fail. I've now added an exception rule for my source folder and it is working! It seems it was corrupting the file for unknown reasons and that was what was causing the build to fail.

THANK YOU THANK YOU THANK YOU!!!!!!!
0 Kudos
jeff12345678910
Level 4

Cary I want to say I read that recommendation from another thread you had posted in, which is why I thanked you. 🙂
0 Kudos
rajkulkarni
Level 2

The same thing happened to me. Kaspersky Endpoint Security (10.2.4.674) was causing this problem with Installshield Professional 2015 SP1. If I disable the AV, it works properly. I have to find out how to add exceptions.
0 Kudos