关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

[解决]程序打开word报错:Exception: Word不能创建工作文件,请检查临时环境变量

发布时间:2022-10-27 20:34:18
1491984010112764.jpg

近日网站服务器更换了操作系统,由原来的win2003改为了win2012,使用时发现应用程序打开word报错:

“/”应用程序中的服务器错误。

Word 不能创建工作文件,请检查临时环境变量。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Exception: Word 不能创建工作文件,请检查临时环境变量。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[Exception: Word 不能创建工作文件,请检查临时环境变量。]
makeDoc.OpenTempelte(String strTemppath, String strLogMakeDocPath) +312
makeDoc.Page_Load(Object sender, EventArgs e) +4072
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627


版本信息: Microsoft .NET Framework 版本:2.0.50727.8000; ASP.NET 版本:2.0.50727.8001

image.png

通过百度和Google查询,还真有不少人遇到这样的问题,不过几乎都是在本地打开word时弹窗报错,而不是在服务器应用程序打开word时出现的异常。

很多人提到在注册表修改两处Cache地址就能解决问题,我一开始也那样做了,但是问题仍然存在。

这个问题困扰我了两三天,但是不可能放弃,因为网站有这功能。

为了攻破这个困难,我单独用了一台服务器,操作系统和环境搭建跟正式机一模一样,然后进行各种尝试。

又用了一个晚上,终于把此问题给解决了!

解决方法:

1、修改网站用户

网站应用程序池的用户使用windows登录用户。

2、修改注册表

1)、运行regedit,打开注册表;

2)、找到

  • ⑴、HKEY_USERS\S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  • ⑵、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

修改它们的cache值(要一致)。

原值:

  • %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache

改为(不能这样写):

  • %USERPROFILE%\AppData\Local\Temp

改为(要这样写,把地址写完整):

  • C:\Users\Administrator\AppData\Local\Temp

或改为这样写:

  • D:\Temp

关闭注册表。

至此,可能不用重启电脑就生效了。

3、注意事项

1)如果应用程序池“加载用户配置文件” 选false,则不能注销远程登录,要直接关闭。否则会再报错。

2)如果应用程序池“加载用户配置文件” 选true,则可以注销远程登录,不会报错。



/template/Home/8a/PC/Static