关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。”的解决

关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。”的解决

一个项目需要在Win系统用计划任务执行PHP,写了个批处理bat利用php-cgi.exe进行执行PHP文件,由于在服务器运行为了不影响服务器既有的PHP配置信息,同时也是考虑未来的移植性还有性能问题,自己弄了个精简了的PHP运行环境。

可在Win下死活也是执行不了,运行批处理直接闪一下就啥都木有咧,于是为了看具体的状态,使用cmd命令行模式去运行批处理文件,结果提示“系统无法执行指定的程序。”,悲催了,难道朋友将服务器给阉割导致不能执行.bat文件?

正咬牙切齿的时候决定再尝试一下确定到底是什么问题。这一次直接在cmd中执行php,运行php.exe -c php.ini -i(指定同php.exe相同目录下的php.ini作为php的配置文件,并且显示phpinfo信息),回车后,竟然还是那句该死的“系统无法执行指定的程序。”,看来不是系统运行不了bat批处理,是干脆不能执行php.exe,咋回事捏?

再次尝试寻找问题的症结,这次尝试在cmd运行服务器原有的php.exe,奇迹出现了,竟然可以正常执行并且返回了phpinfo信息。这下看来应该是我自己所谓的精简的问题,有点晕~~

纠结的时候突然想到,服务器运行的是PHP 5.2.x版本,而我自己打包的是PHP 5.3.x,貌似是用VC9编译的,而php 5.2是用VC6编译的,看来应该是服务器没有安装Microsoft Visual C++运行库导致的,这只是一个初步想法,为了保险尝试看看系统日志有没有留下啥鸟东西(一般微软自家的东西出错了都会老实的写日志的)。

在系统日志中发现了来源均为“SideBySide”,事件ID一个:32,两个59。

事件ID为32的描述是这样的:找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。
事件ID为59的描述是这样的:Resolve Partial Assembly 为 Microsoft.VC90.CRT 失败。 参考错误消息: 参照的汇编没有安装在系统上。
另一个事件ID为59的描述是:Generate Activation Context 为 E:\***\php.exe 失败。 参考错误消息: 参照的汇编没有安装在系统上。

哈哈,看来问题原因找到了,就是因为缺少VC9的运行库,老实的去微软找:http://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x86.exe,下载回来vcredist_x86.exe(Microsoft Visual C++ 2008 Redistributable 9.0.30729.4148)安装,再次执行php.exe成功了^_^

这就是整个解决问题的过程。估计以后也会有其他人遇到此类问题的,分享一下经验吧:)

时间: 2024-11-18 02:04:37

关于“找不到附属汇编 Microsoft.VC90.CRT,上一个错误是 参照的汇编没有安装在系统上。”的解决的相关文章

找不到从属程序集 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"

“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\webservice\396619ef\64fa1a2a\assembly\dl3\d8aa258e\ea6ee7cd_64f0d001\System.Data.SQLite.dll”的激活上下文生成失败. 找不到从属程序集 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken

[转]找不到从属程序集 Microsoft.VC90.DebugCRT

VC编写的程序不能在其他机器上运行的解决方案 转载地址:http://www.cnblogs.com/killmyday/articles/1394596.html 有的时候,你在Visual C++上面经过好几个月的辛勤努力,终于将程序编写完成并且测试完毕,然而当你试图在客户的发布机上运行刚写好的程序时,有可能会碰到类似下面的错误,操作系统告诉你"由于应用程序配置不正确,应用程序未能启动.重新安装应用程序可能会纠正这个问题": 一般情况下,这个问题都是由于程序不能找到所需要的C运行库

winserver2008,运行可执行文件,提示 激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86"

首先我运行的可执行文件是在win7下使用vs2008生成的release版本的文件,为什么在运行的时候提示需要DebugCRT? 另外我在winserver2008上是安装了vc2008的运行环境的.  是因为使用的两个静态库是debug版本的!!

An error occurred during the installation of assembly 'Microsoft.VC90.ATL or 'Microsoft.VC80.ATL'

An error occurred during the installation of assembly 'Microsoft.VC90.ATL or 'Microsoft.VC80.ATL' 下载安装即可修复 https://support.microsoft.com/default.aspx?scid=kb;en-us;946414 An error occurred during the installation of assembly 'Microsoft.VC90.ATL or 'M

32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式

32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 1.没有代码提醒功能 2.编写代码很慢,记不住各种声明 那么现在有大神,已经帮我们做了一个IDE环境,就是RadAsm,首先简单介绍一下界面 (对于这个IDE(最新版是3.0)我已经打包好了,有中文版本,和英文版本) 我们需要配置一下环境 1.配置编译环境,配置lib文件库,配置Debug调试器 打开后会弹出 首先这里我们注意下面的几个选项 1.

C#调用Excel报 error CS1969: 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?

转自[http://blog.csdn.net/bodybo/article/details/43191319] 程序需要读取Exel文件,有如下代码段 [csharp] view plaincopy object oMissing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Applicati

如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误

问题概述: 在新建Android程序的时候出现以下错误: 找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 原因: SDK不完整. 解决方法: 方法一 可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件 然后添下以下内容: proguard.cfg -optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibr

c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点

1 //题目:找出一个二维数组的"鞍点",即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. 2 // 3 #include "stdio.h" 4 #include <stdlib.h> 5 int main() 6 { 7 int i,j,k,hang=1,lie=1; 8 printf("输入行"); 9 scanf("%d",&hang); 10 printf("输入列"

关于在64位系统上,使用APlayer,运行报错“找不到指定的模块”

使用APlayer开发了一个C#程序,原先开发电脑是32位的,安装电脑也是32位,只需要将相应的文件打包,然后在system32文件夹中放入atl71.dll和D3DX9_43.dll,项目运转正常.但后来因为系统升级,换了台win10 64位的系统,开发时只需将项目的平台换成x86,但是打包后安装却报错,且system32下的两个dll已存在.经过一天的摸索,因为64位系统有个SysWOW64  文件夹,将所需的两个dll放入此文件夹,问题得已解决. 网上查出两个文件夹的区别 \Windows