Getting "E:Error in /sdcard/.zip (status 7)" while upgrading Android Nexus 4.0.1 to 4.1.x (Jelly bean) I tried to install Jelly Bean (4.1.1) onto the Nexus S handset following the instructions from here. 

Later, I noticed that the Nexus should have at least 4.0.3 to upgrade to 4.1.x. 

So I tried to install 4.0.3 following the instruction from here.

But each and every time I'm having the error -


  E:Error in /sdcard/filename.zip (Status 7)


How can I fix that?
The explanation is simple, as I have suspected, there's a verification mis-match in the build.prop, see below,
Starting recovery on Fri Jan  4 20:43:32 2013
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (480 x 800)
ClockworkMod Recovery v5.0.2.0
recovery filesystem table
=========================
  0 /tmp ramdisk (null) (null)
  1 /sdcard vfat /dev/block/platform/s3c-sdhci.0/by-name/media (null)
  2 /system ext4 /dev/block/platform/s3c-sdhci.0/by-name/system (null)
  3 /cache yaffs2 cache (null)
  4 /data ext4 /dev/block/platform/s3c-sdhci.0/by-name/userdata (null)
  5 /misc mtd misc (null)
  6 /boot mtd boot (null)
  7 /recovery mtd recovery (null)
  8 /bootloader mtd bootloader (null)
  9 /radio mtd radio (null)

W:Unable to get recovery.fstab info for /sd-ext during fstab generation!
I:Completed outputting fstab.
I:Processing arguments.
Fixing execute permissions for /cache
mtd: successfully wrote block at 0
I:Set boot command &quot;boot-recovery&quot;
I:Checking arguments.
I:device_recovery_start()
Command: &quot;/sbin/recovery&quot;

ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
ro.build.id=GRJ22
ro.build.display.id=GRJ90
ro.build.version.incremental=121341
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.5
ro.build.date=Mon Sep  5 11:04:10 PDT 2011
ro.build.date.utc=0
ro.build.type=eng
ro.build.user=koush
ro.build.host=Koushik-Lion.local
ro.build.tags=test-keys
ro.product.model=Nexus S
ro.product.brand=google
ro.product.name=soju
ro.product.device=crespo
ro.product.board=herring
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=s5pc110
ro.build.product=crespo
ro.build.description=soju-user 2.3.4 GRJ22 121341 release-keys
ro.build.fingerprint=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys
rild.libpath=/vendor/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240
keyguard.no_require_sim=true
ro.opengles.version=131072
wifi.interface=eth0
wifi.supplicant_scan_interval=15
dalvik.vm.heapsize=32m
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.config.ringtone=Playa.ogg
ro.config.notification_sound=regulus.ogg
ro.config.alarm_alert=Alarm_Beep_03.ogg
ro.ril.enable.managed.roaming=1
ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995
ro.ril.emc.mode=2
ro.modversion=CyanogenMod-7.1.0-RC1-NS-KANG
ro.kernel.android.checkjni=1
ro.setupwizard.mode=OPTIONAL
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=3334E1630CFF00EC
ro.bootmode=unknown
ro.baseband=I9020XXKI1
ro.carrier=ATT
ro.bootloader=I9020XXKL1
ro.hardware=herring
ro.revision=16
init.svc.recovery=running
init.svc.adbd=running

I:Checking for extendedcommand...
I:Skipping execution of extendedcommand, file not found...
mtd: successfully wrote block at 0
I:Set boot command &quot;&quot;

-- Installing: /sdcard/VQ8PQk_V.zip
mtd: successfully wrote block at 0
I:Set boot command &quot;boot-recovery&quot;
Finding update package...
I:Update location: /sdcard/VQ8PQk_V.zip
Opening update package...
Installing update...
script aborted: assert failed: file_getprop(&quot;/system/build.prop&quot;, &quot;ro.build.fingerprint&quot;) == &quot;google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys&quot; ||
       file_getprop(&quot;/system/build.prop&quot;, &quot;ro.build.fingerprint&quot;) == &quot;google/soju/crespo:4.0.3/IML74K/239410:user/release-keys&quot;
assert failed: file_getprop(&quot;/system/build.prop&quot;, &quot;ro.build.fingerprint&quot;) == &quot;google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys&quot; ||       file_getprop(&quot;/system/build.prop&quot;, &quot;ro.build.fingerprint&quot;) == &quot;google/soju/crespo:4.0.3/IML74K/239410:user/release-keys&quot;
E:Error in /sdcard/VQ8PQk_V.zip
(Status 7)
Installation aborted.
mtd: successfully wrote block at 0
I:Set boot command &quot;&quot;

The ro.build.fingerprint contains this google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys but the update performed a verification check on the fingerprint which resulted in mis-match and there-by producing Error code 7.
Notice the last few lines of the recovery.log, i.e. the update was expecting the handset to have this version of Gingerbread - google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys OR expecting Ice Cream Sandwich google/soju/crespo:4.0.3/IML74K/239410:user/release-keys
This is meaning, that the version of Gingerbread on your handset is too old for the update to work. (Its Gingerbread 2.3.4 that is on it!) am not 100% sure how this recovery is showing the fingerprint as GB 2.3.4 if the OP states in the comments that the handset is running ICS 4.0.1
So to resolve the issue, you need to flash to Gingerbread v 2.3.6 Ice Cream Sandwich v.4.0.3 first, then apply the update and it should work then.
Edit
It transpires the OP is running ICS v. 4.0.1, the update script was performing a check for either 2.3.6 or 4.0.3 which is something that I have missed inadvertently.