我们有一个内部应用程序Fattracs,由思杰10-30用户使用。 所有的用户都开始了自己的instan。 该exe文件驻留在多个服务器与Windows 2003 R 2负载平衡由思杰。 当新版本到达时,必须更改exe文件。 如果只有几个用户,那么它就可以在运行中改变exe文件。 新用户然后得到新版本,现有的用户必须重新启动才能得到它。 但是对于许多用户,Windows可能会以某种方式lockingexe文件。 然后我们必须在更改之前将所有用户踢出去。
有人谁知道的原因,甚至更好的如何解决呢? 我们有一些文件夹的exes目录,因为我们不想一直使用远程桌面来访问它。 这是否意味着什么?
使用托pipe共享文件的服务器上的命令“net file”来查看哪些用户打开了该文件。
在同一个盒子上使用命令“net file / close”来强制closures第一个命令返回的任何会话。
然后你将能够更新文件。
C:\Users\tf>net file /? The syntax of this command is: NET FILE [id [/CLOSE]]
或者使用“计算机pipe理”中的“份额”部分来实现相同的目的。
您可以使用句柄来查找locking文件的人员。 甚至去掉锁。 唉,这不是一个安全的操作。 也许正在运行该应用程序的用户将dynamic加载一个您刚刚replace为不兼容版本的DLL。 我不知道这是关系到共享(处理实用程序会告诉你的),我不知道这个解决scheme:-(。
看看GNU Emacs的function。
当它启动时,它会寻找一个更新的版本; 版本比当前版本更新的emacs- 版本 .exe 。 然后他们安装emacs.exe和emacs- 版本 .exe ,只有抱怨,如果后者不能安装。
对于内部的东西,如果你没有版本,只要考虑寻找main-1.exe和main-2.exe等失败,只要安装了一个新的文件。 make main.exesearch最高编号的版本。
如果你愿意的话,你的安装程序也可以删除较旧的main- N .exe文件。