2013年3月

error MSB8008: 指定的平台工具集(Windows7.1SDK)未安装或无效。请确保选择受支持的 PlatformToolset 值。

本机首先安装了VS 2010。然后昨天才安装上VSSSDK7.1。今天编译一个项目报错:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): error MSB8008: 指定的平台工具集(Windows7.1SDK)未安装或无效。请确保选择受支持的 PlatformToolset 值。

VS英文版报错:

Error 31 error MSB8008: Specified platform toolset (v110) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.

打开文件 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets , Ctrl+G跳转到513,514行,内容如下:

<!-- Error out if the project references a missing platform toolset -->
    <VCMessage Code="MSB8008" Type="Error" Arguments="$(PlatformToolset)" Condition="!(exists('$(VCTargetsPath)\Platforms\x64\PlatformToolsets\$(PlatformToolset)\Microsoft.Cpp.x64.$(PlatformToolset).targets'))"/>

看来是Targets检查到平台工作集没找到?啥?你不知道啥叫平台工作集(PlatformToolSets)?打开 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets 目录你应该能看到两个目录v90和v100这就是VC 2010的两台平台工作集。作用通俗的叫就是配置的集合。

打开项目属性->配置属性->平台工作集,发现了一个叫Windows7.1SDK的东东。打开VS 2010里面的宏,搜索$(PlatformToolSets)的值也是Windows7.1SDK。这个就是VSSSDK7.1加上的。我们把这个修改为v100。问题就此解决。

error-msb8008

在IDE模式下安装Windows 7后无需重装系统再打开AHCI

一般情况下,在BIOS中设置好了磁盘模式(IDE(Legacy)、AHCI、RAID)之后,安装的系统将在此磁盘模式下运行。如果由一种模式切换到另外一种模式可能会出现开机蓝屏的情况。比如在IDE模式下安装好了Windows 7,但是后又在BIOS中切换到AHCI,那么就会开机蓝屏。一般的笨办法重装系统。但是此文是无需重装系统把AHCI驱动给安装上。

以本机Lenovo IdeaPad Y450a tsi-(h)为例。此机器的南桥芯片是ICH9M,在IDE模式下,安装Intel Max Storage Manager是无法识别AHCI的。

首先

1) 将此文最后的文本拷贝到记事本,保存为.reg文件,让后双击此文件导入注册表。

2)下载Intel Matrix Storage Manager 使用参数 "-a –a"解压出驱动文件

3) 将驱动文件里面的 "iastor.sys " 拷贝到 %Windows%\System32\Drivers\

4) 重启系统进入BIOS,打开AHCI

5) 保存并重启进入Windows,这个时候应该能够正常启动。

6) 这个时候Windows系统开机会开始安装AHCI驱动。可以取消掉。双击Intel Maxtri Storage Manager驱动安装包。

7) 驱动安装完之后重启系统。 

打完手工!

======================================================

Windows Registry Editor Version 5.00

; --
; traegt einige Betriebsmodi der SATA-AHCI-Hostadapter
; der I/O Controller Hubs
; ICH7R, ICH7-DH, ICH7M-DH
; ICH8R, ICH8-DH, ICH8-DO, ICH8-M, ICH8-ME
; ICH9, ICH9R, ICH9-DH, ICH9-DO
; ICH9-M, ICH9-ME (experimentell)
: ICH10, ICH10R
; der Intel-Chipsaetze
; 955X, 945P, 945G, P965, G965, Q965, Q963
; 945GM, 945PM, 965GM, 965PM
; G31, G33, G35, P31, P35, X38, X48
; G43, G45, P43, P45
; GM45, GM47, PM45
; Q45, P55 (experimentell)
; in die Registry einer Windows-XP-Installation ein
; (XP Home, Professional, x64 Professional Edition).
; --
; Der Treiber IaStor.sys muss man manuell kopieren
; in das Verzeichnis
; %SYSTEMROOT%\system32\drivers\iaStor.sys
; Weitere Tipps: c't 23/05, S. 210
; und
; SATA-AHCI-Treiber nachrüsten:
; 
; Weitere Informationen:
; ICH7R: www.intel.com/design/chipsets/datashts/307013.htm
; IaStor.sys:
; Enthalten in Intel Matrix Storage Manager (IMSM), 32- und 64-Bit:
; http://support.intel.com/support/chipsets/imsm/
; Trademarks: Intel (www.intel.com), Microsoft (www.microsoft.com)

; ICH7 AHCI
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c1]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH7-M AHCI
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c5]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH7 RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c3]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH7-M DH RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c6]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH8, ICH8R, ICH8-DO, ICH8-DH AHCI 6-Port
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2821]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH8, ICH8R, ICH8-DO, ICH8-DH AHCI 4-Port
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2824]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH8, ICH8R, ICH8-DO, ICH8-DH RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2822]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH8-M, ICH8-ME AHCI
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2829]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH8-M RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_282A]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9, ICH9R, ICH9-DO, ICH9-DH AHCI Ports 0-5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2922]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9, ICH9R, ICH9-DO, ICH9-DH AHCI Ports 0, 1, 4, 5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2923]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9R RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2822]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9R RAID Alternativ je nach Bit 7 im Register D21:F2:9Ch (siehe Datenblatt)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2925]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9-M, ICH9-ME AHCI
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2929]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9-M RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_282A]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH9-M RAID Alternativ je nach Bit 7 im Register D21:F2:9Ch (siehe Datenblatt)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_292C]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH10, ICH10R AHCI Ports 0-5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3A22]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH10R RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3A25]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH10DO AHCI
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3A02]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; ICH10DO RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3A05]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; P55 AHCI Port 0-5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3B22]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; P55 AHCI Port 0,1,4,5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3B23]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; P55 RAID ist 3A25 wie ICH10R

; P55 Mobile AHCI Port 0-5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3B2F]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; P55 Mobile AHCI Port 0,1,4,5
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3B29]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

; P55 Mobile RAID
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3B2C]
"Service"="iaStor"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\iaStor.sys"
"tag"=dword:00000019
"DisplayName"="Intel AHCI Controller"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]
"AtapiOnPrimary"=dword:ffffffff
"AtapiOnSecondary"=dword:ffffffff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]

参考此文:http://etactiks.blogspot.com/2010/12/how-to-inject-sata-drivers-ahci-after.html ,虽然此文标题是针对Windows XP,但是对Windows 7仍然有效。

OPPO U701无法开机情况下刷机2.3.6固件ROM(U701_11_4.06_120913 update)教程

最近老妹使用一个山寨字体更换软件更换了一个叫“方正喵呜体”,点击确定重启后系统一直暂停在ULike Logo界面无法进入系统。估计是字体被损坏了。所以登录OPPO官方网站OPPO的升级固件页面,但是发现都是4.0版本的了。有两个(U701(130228)U701(121106))老版本的2.3.6的没有了!然后先下载了130228的所谓的《4.0的第三个版本》。将zip文件用读卡器保存在手机SD根目录。然后按住手机音量下键+电源键,等待十秒钟后进入Recovery模式。选择我们刚才的zip刷机包。结果升级过程中提示“验证签名失败”。后来在官方论坛得知2.3.6必须先用4.0里面的EXE包升级(121106),然后再用130228升级。不得不说这十分的麻烦。我下载了EXE升级包,也就是所谓的“U701升级Android 4.0用户升级包”(121106)发现了一个600多MB的超大EXE文件:U701_11_5.01_121106.exe。

打开“U701升级4.0操作指南(Windows 7).doc”读了文档才发现“上当”了。需要手机进入系统输入*#872#,Enable Preloader USB Enum才能用此刷机包。

最后的希望只能是能够找到2.3.6的原版升级包了。功夫不负有心人,找到了网友发的2.3.6升级包的网盘下载地址:http://dl.vmall.com/c0ebtvddct。

将下载下来的zip用同样的方法放入SD卡用Recovery刷入即可。

U701终于可以启动了!

PS:不知道为什么OPPO停止了2.3.6固件下载,估计是较老批次手机已经没有货了,所以主推自带4.0的手机。但是事实上现在还是有很多2.3.6的老版本用户的。

PS2:另外一个2.3.6备用下载地址:http://www.padtt.com/rom/oppo/U701/2012/1102/14166.html

三星GT-S7562刷国行和港台版ROM教程

最近老姐的S7562上面的QQ点击进入聊天界面会自动黑屏然后返回到好友列表界面。此问题应该是软件问题。决定重新刷机解决。教程如下:

刷机前需安装好三星手机驱动(SAMSUNG USB Driver for Mobile Phones)。 1.刷机模式:  

进入方法:音量下+HOME+POWER ON  出现第一界面后马上松开所有键 再按一下音量上进入

三星GT-S7562刷国行和港台版ROM教程

电脑上用Odin3刷下载到的rom文件的时候用 2.rom下载地址:

http://pan.baidu.com/share/link?shareid=90741&uk=2835625605

或者这个:

http://pan.baidu.com/share/link?shareid=90741&uk=2835625605#dir/path=%2F%E6%88%91%E7%9A%84%E5%85%B1%E4%BA%AB

下面开始具体刷机步骤:

一.解压压缩包到文件夹
Odin3_v3.06.exe:Re-Partition前打勾
1)运行Odin3_v3.06.exe刷机平台
2)点击PIT 选择signed_kyle_chn_v2_0604.pit文件 ,下面四个文件都要打勾选择,如下图
三星GT-S7562刷国行和港台版ROM教程
3)  除Auto Reboot Re-Partition F.Reset Time前打勾外 其它地方均不打勾
4)手机关机 按音量下+HOME+POWER ON  出现第一界面后马上松手 再按下音量上进入刷机模式
5)通过数据线连接电脑 确认刷机平台认出COM口【COM口处会变为黄色】 
6)按下“Start”开始刷机 刷机过程中平台上方会有进度条 ,耐心等待
7)刷机平台出现绿色“PASS”后 刷机完成 手机会自动重启
港台版的只有一个tar.md5文件,有很多人不懂怎么刷,这个是最简单的,在PDA处直接刷入即可.


WinPE4.0运行.NET程序报错:The subsystem needed to support the image type is not present(支持此镜像类型所需的子系统不存在)

感謝您致電微軟技術支援中心。我是台灣微軟技術支援工程師 ***,很榮幸有機會為您服務。關於您遇到的問題,請參考以下報告。若步驟中有任何不清楚或需要進一步的協助,為避免我們因在電話中而耽誤接聽您電話的時間,建議您先以 EMAIL 方式回覆給我,我將在收到您的來信後儘速與您連絡,謝謝。
問題代號 : 113022310239333
問題說明 : [OS]Prof/Windows 8/在Win 8 64bit PE安裝.NET Framework 4.0程式之後出現“The subsystem needed to support the image type is not present”
解決方式 :
我看到您的錯誤訊息是:
The subsystem needed to support the image type is not present
 
我們認為出現此錯誤訊息應已成功安裝NetFX4,而無法運行的原因是因為版本不符合所導致,您可以先參考下列做法:
 
Error: “The subsystem needed to support the image type is not present”
This error is caused by running a 32-bit version of USMT within a 64-bit WinPE image. There are two rather obvious solutions to this:
1. Use an x86 version of WinPE when running an x86 version of USMT.
2. Use an x64 version of WinPE when running an X64 version of USMT.
It’s fine to use x64 WinPE and USMT to run a scanstate on an x86 offline OS. Always remember to specify the environment variable for the offline OS architecture being scanned. This variable is:
MIG_OFFLINE_PLATFORM_ARCH=<32 or 64>
For example, if the offline OS being scanned was 32-bit Windows XP, you would specify the following in the WinPE command prompt that is about to run scanstate:
SET MIG_OFFLINE_PLATFORM_ARCH=32
 
另外:
Windows PE上的.net framework 並非跟一般Windows 8上的功能完全一樣,有下列限制:

Microsoft .NET

WinPE-NetFX4

New for Windows 8. WinPE-NetFX4 contains a subset of the .NET Framework 4.5 that is designed for client applications.

Not all Windows binaries are present in Windows PE, and therefore not all Windows APIs are present or usable. Due to the limited API set, the following .NET Framework features have no or reduced functionality in Windows PE:



  • Windows Runtime
  • .NET Framework Fusion APIs
  • Windows Control Library event logging
  • .NET Framework COM Interoperability
  • .NET Framework Cryptography Model


 

因此,如果您有使用到以上元件,並非您沒有安裝成功,而是Windows PE上的NetFX4有所限制所導致。
 
參考資料:
 
http://blogs.technet.com/b/askds/archive/2010/02/18/usmt-4-and-winpe-common-issues.aspx
 
http://technet.microsoft.com/en-us/library/hh824926.aspx#bkmk_1

我本机测试了一下。我们的dotnet程序是32位的。而PE是amd64构架的就无法运行。显示”The subsystem needed to support the image type is not present”
我编译了三个.NET程序。分别使用AnyCPU,X86,X64平台配置。只有AnyCPU和X64都可以正常运行,而X86显示不支持。如附件图片所示。

David和Jerry Lin贴出来的命令行都是一样的。但是在所有命令前有一个CopyPE.cmd用来拷贝PE文件,这个命令第一个参数就是指定CPU构架。我估计D****用的是amd64。而J****用的x86 (e.g: CopyPE.cmd x86 c:pe)。