Exe (E:GenPlan CompanyProjectVS2008SP1CHSX1512981vs90sp1VC_IA64Runtime.exe)succeeded.
[8/1/2009, 23:21:59] Action complete
[8/1/2009, 23:21:59] Exists: evaluating...
[8/1/2009, 23:21:59] (IronSpigot::RegKeyT<classATL::CRegKey>::Evaluate) RegKey:HKLMSOFTWAREMicrosoftVisualStudio9.0 exists.
[8/1/2009, 23:21:59] Exists evaluated to true
[8/1/2009, 23:21:59](IronSpigot::ExeInstallerBase::ExeInstallerBase) Created newExePerformer for Exe item
[8/1/2009, 23:21:59](IronSpigot::CartmanExeInstallerBase::CartmanExeInstallerBase)Created new CartmanExePerformer for Exe item
[8/1/2009, 23:21:59](IronSpigot::CartmanExeInstaller::CartmanExeInstaller) InCartmanExeInstaller::CartmanExeInstaller
[8/1/2009, 23:21:59](IronSpigot::CompositePerformerBaseT<classIronSpigot::MsiInstaller,struct IronSpigot::MspInstaller,structIronSpigot::MultipleMspInstaller,classIronSpigot::ExeSelectingPerformer<classIronSpigot::ExeInstaller,classIronSpigot::CartmanExeInstaller>>::PerformAction) Created new ExePerformer for Exeitem
[8/1/2009, 23:21:59] Action: Performing Action on Exe at E:GenPlanCompanyProjectVS2008SP1CHSX1512981vs90sp1dotnetfx35langpack_x86zh-CHS.exe...
[8/1/2009, 23:21:59](IronSpigot::CartmanExeInstallerBase::PreCreateProcess) InPreCreateProcess
[8/1/2009, 23:21:59](IronSpigot::CartmanExeInstallerBase::PreCreateProcess)m_pSetupWatcher->Connect succeeded
[8/1/2009, 23:21:59] (IronSpigot::ExeInstallerBase::Launch)Launching CreateProcess with command line =dotnetfx35langpack_x86zh-CHS.exe /q /norestart /progressCartmanSetupExeWatcher277306079
[8/1/2009, 23:21:59](IronSpigot::CartmanExeInstallerBase::PostCreateProcess)PostCreateProcess succeeded
[8/1/2009, 23:22:26](IronSpigot::ExeInstallerBase::EnsureExitCodeIsAnMSIErrorCode)Original exit code: E:GenPlan CompanyProjectVS2008SP1CHSX1512981vs90sp1dotnetfx35langpack_x86zh-CHS.exereturned non-MSI error code: 0x1 - 函数不正确。
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)Exe log file(s) :
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)C:UsersADMINI~1AppDataLocalTempdd_dotnetfx35error_lp.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)C:UsersADMINI~1AppDataLocalTempdd_dotnetfx35install_lp.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)C:UsersADMINI~1AppDataLocalTempdd_depcheck_NETFX_EXP_35.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)Exe (E:GenPlan CompanyProjectVS2008SP1CHSX1512981vs90sp1dotnetfx35langpack_x86zh-CHS.exe)failed with 0x80070643 - 安装时发生严重错误 .

[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)Log File: dd_dotnetfx35error_lp.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)Log File: dd_dotnetfx35install_lp.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)Log File: dd_depcheck_NETFX_EXP_35.txt
[8/1/2009, 23:22:26] (IronSpigot::ExeInstallerBase::PerformAction)PerformOperation on exe returned exit code 1603 (translates toHRESULT = 0x80070643)
[8/1/2009, 23:22:26] Action complete
[8/1/2009, 23:22:26] (IronSpigot::LogUtils::LogFinalResult) FinalResult: Installation failed with error code: (0x80070643),安装时发生严重错误
[8/1/2009, 23:22:26] Action complete
这个错误可以观出是个dotnetfx35langpack_x86zh-CHS.exe中文包的问题,原来是vs2008中文版的安装时已经安装了中文版,但是sp1补丁没这么聪明,所以重复了,就抱错了. 那怎么解决,试了删除不行,方法有两种:
办法一是改安装脚本ParameterInfo.xml绕过语言包的安装,办法二是安装到该包包时骗过安装程序返往返成功结果就可以。
第二个办法比较简单:
首先把SP1的所有文件复制到硬盘上,打开vs90sp1文件夹,然后复制一份该文件夹下的VC_x86Runtime.exe改名dotnetfx35langpack_x86zh-CHS.exe替换该目录的dotnetfx35langpack_x86zh-CHS.exe,然后再运行SPInstaller.exe安装即可。