You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自解压可执行文件无法识别System32中的UWFMGR命令求助

问题原因与解决办法

核心原因

你的自解压程序大概率是32位版本,它启动的CMD窗口属于32位进程。Windows为兼容32位程序会开启文件系统重定向:32位进程访问C:\Windows\System32时,会被自动重定向到C:\Windows\SysWOW64(32位系统文件目录),而uwfmgr.exe是64位专属工具,仅存在于真正的64位System32目录中,因此32位CMD里找不到该文件——哪怕写全路径也没用,因为路径会被重定向篡改。

直接运行脚本时,你用的是64位CMD(64位系统默认打开的CMD为64位),不会触发重定向,所以能正常执行。

解决方案

有三种可行的解决方式:

  1. 在脚本里指定64位uwfmgr的真实路径
    把脚本里的uwfmgr替换为C:\Windows\Sysnative\uwfmgr.exe,Sysnative是Windows提供的特殊别名,32位进程通过它可绕过重定向,直接访问64位的System32目录。同时注意修正FOR /F的语法错误(原代码用双引号包裹DIR命令会被当成文件名,需改用反引号):

    SETLOCAL EnableDelayedExpansion
    
    FOR /F usebackq "tokens=*" %%F IN (`DIR /S /B /A-D`) DO (
       C:\Windows\Sysnative\uwfmgr.exe file commit "%%F"
    )
    
  2. 让自解压程序启动64位CMD
    修改自解压程序的配置,将启动命令从直接运行SETUP.bat改为:

    C:\Windows\Sysnative\cmd.exe /c SETUP.bat
    

    这样自解压程序会调用64位CMD执行脚本,自然能正常找到uwfmgr.exe。

  3. 改用64位自解压工具
    如果你的自解压工具支持生成64位自解压包,直接生成64位版本,它启动的CMD就是64位的,不会触发文件系统重定向问题。


内容的提问来源于stack exchange,提问作者JuanASIR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:20:23