在 NAD 更新期间对应用程序更改
- Last UpdatedAug 27, 2025
- 1 minute read
WindowViewer 节点更新应用程序时,它会尽可能地在复制过程中保留 NAD 储备库应用程序的属性(只读、系统、隐藏,等等)。
WindowViewer 也会复制 NAD 储备库应用程序的所有文件与子文件夹,以下文件除外:*.WVW、*.DAT、*.LGH、*.IDX、*.LOG、*.LOK、*.FSM、*.STG、*.DBK、*.CBK、*.HBK、*.KBK、*.LBK、*.NBK、*.OBK、*.TBK、*.WBK、*.XBK、*.$$、RETENTIV.X、RETENTIV.D、RETENTIV.A、RETENTIV.S、RETENTIV.H、RETENTIV.T、SSD_、WM.INI、DB.INI、LINKDEFS.INI、TBOX.INI、GROUP.DEF 以及 ITOCX.CFG。
注意:WindowViewer 以递归方式删除目标应用程序文件夹中的所有文件与子文件夹(运行时语言切换功能所需的那些除外)。此文件夹应视作临时文件夹。不能存放其它文件。
开始更新之后,NAD 客户端会创建一个列表,列出客户端应用程序目录中出现的本地文件与子目录。NAD 客户端一边在 NAD 储备库文件列表中查找更新,一边从本地列表中删除每个 NAD 储备库文件对应的客户端文件。本地列表中剩余的项目是废弃的文件与子目录,应该从应用程序中删除掉。
下载的所有文件将复制到临时子目录 NAD_Temp 中。仅在重试次数限制范围内成功复制所有的新文件以及更新的文件之后,才会将这些文件从 NAD_Temp 复制到应用程序目录。如果 NAD 客户端不得不放弃更新,正在运行的应用程序并不会因为只引入部分新文件或更新的文件而损坏。
如果下载所有的新文件与更新的文件之后无法联系到 NAD 储备库应用程序,则通过从 NAD_Temp 中复制更新并删除废弃的文件,仍可以完成更新。这确保不会仅仅因为丢失连接而无法确认文件是否存在于 NAD 储备库应用程序中便将它们删除掉。
NAD 可以检测出在下载应用程序期间是否对 NAD 储备库应用程序进行过其它的更改。如果发生这种情况,NAD 将放弃下载应用程序。如果在最近的更新之后运行通知客户端命令,NAD 将在下一个轮询周期自动开始下载最新的应用程序。否则,它将等到发出下一条通知客户端命令之后再开始下载应用程序。