为什么在试图打开和保存文件时,会出现“另一位用户使用的文件”和“应用程序共享冲突”错误?

最近我们得到了很多。

  • Windows 2008 Server
  • Windows 7和Vista客户端PC
  • Microsoft Office 2007

当用户尝试打开我们的networking驱动器上的文件(word文档,excel电子表格等)时,软件报告文件被“另一个用户”locking,即使不是这样。 尝试将文件保存到networking时,他们也会看到随机的“共享冲突”错误。

当用户尝试在自己的驱动器上保存本地驱动器上的非networking文件时,可能会出现相同的问题performanceforms,并显示“由于共享冲突而无法保存”。

好,在追踪潜在的问题和testing解决scheme,因为这个问题被张贴我有答案…

任何实时访问文件(防病毒,同步或索引软件)都可能会导致Microsoft Office文件出现问题。

Microsoft Office在保存时创build临时文件(带和不带文件扩展名)文件。 过度实时扫描程序有时会看到这些临时文件,尝试和读取其内容,并在这样做启动文件locking。 当父应用程序尝试将临时文件转换回其预期格式时,这会导致即时问题。

从MSKB: Excel保存文件的方式说明

Excel保存文件时,Excel请按照下列步骤操作:

  1. Excel将在您另存为对话框中指定的目标文件夹中创build一个随机命名的临时文件(例如,Cedd4100不带文件扩展名)。 整个工作簿被写入临时文件。
  2. 如果正在将更改保存到现有文件,则Excel将删除原始文件。
  3. Excel重命名临时文件。 Excel会在“另存为”对话框中为临时文件指定您指定的文件名(如Book1.xls)。

从MSKB: Word如何创build临时文件的说明

用于保存编辑文件的scheme的简化视图

创build临时文件
编写临时文件
删除原始文件
将temp移动到目标名称

通过将临时文件放在与保存的文件相同的目录中,Word可以获得显着的性能提升。 如果Word将临时文件放置在别处,则必须使用MS-DOS COPY命令将临时文件从其他目录移动到保存的位置。 通过将临时文件保存在与保存的文档文件相同的目录中,Word可以使用MS-DOS MOVE命令将临时文件快速指定为保存的文档。

大多数AV,索引和同步软件正确处理临时文件; 有些不。 有些工作很好,但在观看同一个文件夹时却不能很好地工作。 这是由你来找出什么程序是在你的环境造成的问题。 希望这个答案能给我们指引正确的方向。

更新 :微软发布了几个修补程序来解决这个问题。
Office 2007修补程序
Excel 2007修补程序
在“修复程序共享”中search它们而不是从MS请求修补程序 。

仅供参考:既不能完全解决我们的问题,但却能显着减less“共享违规”的频率。

我注意到使用Windows Vista的一点是,它会随机“locking”文件。

我使用Unlocker来显示它在哪里被locking,并允许我解锁文件。

其他用户是否有可能以某种方式断开共享,而不先closures应用程序? 即笔记本电脑用户,只需closures盖子备用,回家? 也许其他networking连接问题?

我会看看共享驱动器的locking文件 – 他们通常以波浪号开始。 例如,document.docx将在〜$ document.docx相同的目录中有一个locking文件。 这是一个隐藏的文件,所以你需要启用在资源pipe理器中显示隐藏的文件和文件夹才能看到它。

如果应用程序看到这个文件,不pipe授予的权限如何,它都会告诉你文件被locking,因为它没有生成该文件。 如果应用程序没有正确closures,或者由于进入待机状态或被拔出networking而被强制断开连接,则无法正确删除该locking文件。

只是一个想法…

赫苏斯

closuresWindows资源pipe理器底部显示的详细信息窗格。 转到组织 – > 布局 – > 详细信息窗格 。 这解决了第一个问题。

closuresShow pop-up description for folder and desktop items单击工具 – > 文件夹选项 。 在打开的框中,点击查看选项卡。 向下滚动列表以Show pop-up description for folder and desktop items ,清除checkbox,然后单击OK 。 这解决了第二个问题。

closures预览窗格。 转到组织 – > 布局 – > 预览窗格 。 这修复了3号。

该错误表明另一个用户已经locking该文件,当这个用户试图打开它。 当该锁存在时,该用户的读/写访问控制没有意义。

可能的原因,

  • 文件是否存储在与写入权限共享的位置?
  • 文件以前的访问是否因应用程序崩溃而终止?

MS Office应用程序通常以写入模式打开文件。 如果有人将其打开,或者应用程序在上次打开文件时崩溃,则可能会出现此错误。

另一个小小的观察:你有没有注意到,一个打开但尚未编辑的doc / xls文件实际上已经修改了它的时间戳,当它被打开(如果你切换到资源pipe理器,并看到它的清单)。 如果您在不进行任何编辑/保存的情况下closures文件,这将恢复到较旧的时间戳。 这是因为文件以写入模式打开。

检查他们是否有能力在该文件夹中创build文件。 该程序通过存在〜$ document.docx(或其他)来告诉它是否允许写入。 如果它不能创build该文件或其他程序有处理它,然后假定它是只读的。

Microsoft Office应用程序从excel的常规选项卡下的选项中的字段中获取用户名,单词中的用户信息选​​项卡等。

检查客户端,以查看该字段中的标签…..