use*_*655 0 windows-7 cache remote-desktop
我使用XP Unlimited来允许用户在 Windows 7 机器上执行远程桌面。
用户在远程桌面上运行本机 win32 exe 应用程序(使用 Delphi 构建)。
当我需要更新 exe 文件并且所有用户从远程桌面注销时一切正常,但是当我必须在某些用户使用它时“实时”更新 exe 文件时,我有一个不好的行为:
以某种方式缓存了 exe 并且我有访问冲突错误。
为了实时替换,我重命名了旧的 exe,然后将新的 exe 复制到文件夹中。
这个问题能告诉你什么吗?难道我面临的问题是因为我使用的是非服务器操作系统(Windows 7 而不是 win 2k8)?您能否提出解决方案或向我解释问题。
谢谢。
简短回答:不要更改当前正在使用或在活动内存中运行的文件。
如果该文件是开放的,在使用中,你会遇到问题。在有打开的文件句柄时从操作系统/应用程序下拉出文件是一个很大的禁忌。我很惊讶它甚至会让你重命名文件。
它不一定缓存某些内容,您运行的活动应用程序不会假设文件会在没有通知的情况下更改。
这就是为什么 Windows 经常强制您重新启动某些更新,许多软件更新程序强制您关闭浏览器或其他“相关”程序(想到 Java)以完成更新,或者其他更新程序“重新启动”他们正在运行的程序更新(如 Adobe 安装程序)。