如何取代 – 生活在Windows Server 2008中的许多用户使用的win32 exe?

我有一个内部的Intranet应用程序作为exe文件(win32,用Delphi编写)。

我定期更新它的新function和补丁。

许多人正在访问相同的exe(使用远程桌面)。

在Windows Server 2003中replace我只需要的文件:

重命名旧文件,复制新文件。

这是不可能在2008年,因为相同的caching新文件不起作用。 它运行,但后来有问题(可能与Delphi使用EXE资源的方式)。 唯一的办法是closures所有用户会话并replace文件。

你可以提出一个有效的方法吗? 简单如果可能? 是否有可能禁用此caching? 或者任何其他的技巧,允许我replace文件(不改变完整的path)。

作为一种select,你可以创build一个永不改变的新的启动器。 它将读取要启动的可执行文件的版本,并启动更新的版本。

因此,如果最终用户快捷方式指向的是filename.exe,那么这就是您的启动程序的名称,启动程序可能会读取文件filename.versions,然后执行filename.version.exe。

计划一个维护窗口,并在没有用户使用该文件时replace该文件。 仅仅因为Server 2003允许你以一种错误的方式逃避,并不意味着2008应该。

你提到这个部分:

唯一的办法是closures所有用户会话并replace文件。

是正确的方式去做它。

我猜如果你使用UPX压缩器,你将能够删除可执行文件。 一旦.exe在RAM上解压缩。