我正在使用XP Unlimited来允许用户在Windows 7机器上执行远程桌面。
用户在远程桌面上运行本机win32 exe应用程序(使用Delphi构build)。
当我需要更新exe文件,所有用户从远程桌面注销一切正常,但是当我必须更新exe文件“活”,当一些用户正在使用它,我有一个不好的行为:
不知何故该exe被caching,我有访问冲突错误。
为了取代现场我重命名旧的EXE,我复制新的文件夹。
这个问题告诉你什么吗? 难道是我面临的问题是因为我正在使用非服务器操作系统(Windows 7而不是win 2k8)? 你能提出一个解决scheme或解释我的问题。
谢谢。
简短的回答:不要更改当前在活动内存中使用或运行的文件。
如果文件已经打开并正在使用中,您将遇到问题。 有一个打开的文件句柄,从操作系统/应用程序下拉出一个文件是一个很大的禁忌。 我很惊讶,甚至会让你重命名文件。
这不一定是caching的东西,你有活动的应用程序运行,不假定文件将会改变,恕不另行通知。
这就是为什么经常Windows迫使你重新启动某些更新,许多更新软件迫使你closures浏览器或其他“相关”的程序(Java想到)来完成更新,或其他更新程序“重新启动”他们的程序更新(如Adobe安装程序)。