win7或win8 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序
解决方法如下:
“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。 如下图所示:


win7或win8 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序
解决方法如下:
“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。 如下图所示:

打开服务器管理器,点击添加角色和功能。
选择基于角色或基于功能的安装。
选择服务器。
选择webserver(iis)
选择角色。
打开web服务器(IIS)选项。选择常见http功能。
安全性选择中勾选常用的安全性选项。
应用程序开发选项中,请确保选择.net 3.5,.net 4.5,ISAPI扩展。
开始安装。
TTP 错误 403.14 – Forbidden
Web 服务器被配置为不列出此目录的内容。
最可能的原因:
可尝试的操作:
详细错误信息:
| 模块 | DirectoryListingModule | ||
| 通知 | ExecuteRequestHandler | ||
| 处理程序 | StaticFile | ||
| 错误代码 | 0x00000000 | ||
| 请求的 URL | http://88888:80/ | ||
| 物理路径 | D:\website\yuanjing | ||
| 登录方法 | 匿名 | ||
| 登录用户 | 匿名 | ||
解决方案:
1)发布时不要选择预编译,否则会出现这样的错误;
2)站点所在的文件夹,保证iis有访问和控制权限。
详细错误信息:
| 通知 | BeginRequest | ||
| 处理程序 | 尚未确定 | ||
| 配置文件 | D:\website\yuanjing\web.config | ||
| 请求的 URL | http://****:80/ | ||
| 物理路径 | D:\website\yuanjing | ||
| 登录方法 | 尚未确定 | ||
| 登录用户 | 尚未确定 | ||
配置源:
<modules runAllManagedModulesForAllRequests=”true” />
<handlers>
<remove name=”ExtensionlessUrlHandler-ISAPI-4.0_32bit” />
解决方案:
出现这个错误是因为从 IIS 7开始采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。要取消锁定可以运行命令行
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是错误信息中红字显示的节点名称。
如果modules也被锁定。
详细错误信息:
| 模块 | IIS Web Core | ||
| 通知 | BeginRequest | ||
| 处理程序 | 尚未确定 | ||
| 错误代码 | 0x80070021 | ||
| 配置错误 | ???不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=”Deny”),或者是通过包含 overrideMode=”Deny” 或旧有的 allowOverride=”false” 的位置标记明确设置的。 | ||
| 配置文件 | D:\website\yuanjing\web.config | ||
| 请求的 URL | http://****:80/ | ||
| 物理路径 | D:\website\yuanjing | ||
| 登录方法 | 尚未确定 | ||
| 登录用户 | 尚未确定 | ||
配置源:
<validation validateIntegratedModeConfiguration=”false”/>
<modules runAllManagedModulesForAllRequests=”true”/>
<handlers>
可以在命令行运行
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
注意:cmd.exe要以管理员身份启动。

Windows 的IIS 用的很少,最近用了一个aspx.net的项目遇到了一些问题。部署完成后打开.aspx的页面直接变成下载。下面给出正确的解决方案:
在服务器 cmd下执行
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -r C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

[title]安装说明[/title]
系统:win7 64位
安装包:dotNetFx40_Full_x86_x64.exe(.Net framework 4.0)
出现的问题:在win7 上安装dotNetFx40_Full_x86_x64.exe之后,弹出说明框:.Net framework 4安装未成功,原因是hresult 0x80240037
后面也采用了各种方法,还发现这种错误:你的电脑使用此 Windows 版本不支持的处理器 ?https://support.microsoft.com/zh-cn/help/4012982/the-processor-is-not-supported-together-with-the-windows-version-that
[title]解决办法[/title]
上360或者腾讯管家直接装!直接上.Net framework 4.5?如,上腾讯管家安装:
操作必须使用一个可更新的查询。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。
原因:出现这个问题是因为access数据库没有写入权限导致的。
解决方法:可以单独给access所在目录增加写入权限,也可以给整个网站目录写入权限
增加 everyone用户,勾选下面的读取和写入权限(有的电脑需要勾选修改权限),本机直接勾选完全控制也可以。

最近有一个项目Microsoft.Jet.OleDb,主要用于从Excel中导入数据,在调试阶段一直是正常的。但一部署到客户的环境中(Windows Server 2008 R2 + Server 2005 + IIS7)导入数据的功能就出现问题了
其错误如下:
System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序。
在 System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 ExcelOperation.ImportFromExcel(String fileName, String strSql)
在 Retiree_ImportData.btnImport_Click(Object sender, EventArgs e)
在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
后来了解到客户的操作系统为64位,通过IIS程序池设置中启用32位应用程序选项中设置为True,问题随即解决如下图:
