Windows 旧版兼容处理

旧版卡在防火墙步骤,以及无感模式所需的开发者模式设置。

这页适用于 Windows 旧版,例如已安装的 0.4.14。0.5.4 已处理这里的两项兼容问题,不需要按本页手动设置。 新版如果仍然卡住,请把版本和完整提示发给我们,不要套用旧版命令。

长时间卡在防火墙步骤

如果旧版在防火墙相关步骤等待很久,没有继续,可以按下面的方法为当前运行的 Code Sandbox 添加一条入站允许规则。

执行前

  1. 保持 Code Sandbox 运行,不要先退出或重开 App。下面的命令需要找到当前正在运行的程序。
  2. 在开始菜单搜索 Windows PowerShell,右键选择 以管理员身份运行。如果用 Windows Terminal,请选择管理员窗口里的 PowerShell,不要粘贴到命令提示符或沙箱终端。
  3. 这条规则只指定找到的那个 Code Sandbox 程序,但会允许本地子网向它建立入站 TCP 连接,涵盖所有网络配置文件,未限定本地端口。规则重启后仍然保留,请在你信任的网络中使用。

复制整段命令执行

$appExe = Get-CimInstance Win32_Process |
    Where-Object {
        $_.ExecutablePath -like "$env:LOCALAPPDATA\CodeSandbox\App\*\Code Sandbox.exe"
    } |
    Sort-Object CreationDate -Descending |
    Select-Object -First 1 -ExpandProperty ExecutablePath

if ([string]::IsNullOrWhiteSpace($appExe) -or !(Test-Path -LiteralPath $appExe)) {
    throw "未找到当前运行的 Code Sandbox.exe,请确认 App 仍在运行"
}

$appExe

$ruleName = "CodeSandbox-Emergency-GuestRuntime-$(Get-Date -Format 'yyyyMMdd-HHmmss')"

New-NetFirewallRule `
    -Name $ruleName `
    -DisplayName $ruleName `
    -Group "Code Sandbox emergency recovery" `
    -PolicyStore PersistentStore `
    -Enabled True `
    -Direction Inbound `
    -Action Allow `
    -Protocol TCP `
    -Program $appExe `
    -RemoteAddress LocalSubnet `
    -Profile Any

命令会先显示当前程序路径,再创建一条带时间戳的规则。看到规则信息后,回到 Code Sandbox 检查原步骤是否继续;如果应用已显示失败,再使用页面上的重试入口。不要反复执行整段命令,以免添加多条规则。

  • 提示“未找到当前运行的 Code Sandbox.exe”,先确认 App 仍在运行。自定义安装路径不匹配时,请联系我们确认,不要把程序路径改成通配放行。
  • 提示“拒绝访问”,检查是不是管理员 PowerShell。
  • 规则已创建但仍卡住,把应用提示和命令报错发给我们。不要关闭整个防火墙或删除其他规则。

查看或撤回这条规则

在刚才的同一个 PowerShell 窗口里,可以查看它的状态。

Get-NetFirewallRule -Name $ruleName -PolicyStore PersistentStore |
    Select-Object Name, Enabled, Direction, Action, Profile

如果已经换了窗口,先把执行时输出的完整规则名赋给 $ruleName。确认不再需要这条临时处理规则后,用下面的命令只删除这一条。

Remove-NetFirewallRule -Name $ruleName -PolicyStore PersistentStore

不要把规则名换成 *。升级后程序路径可能变化,旧规则也不会自动对应到新的程序;可以联系我们确认是否清理。

旧版无感模式需要开发者模式

Windows 旧版使用无感模式前,先在本机 Windows 设置中打开“开发者模式”,具体步骤见无感模式的旧版 Windows 设置。只使用隔离浏览器时,不用为此开启它。

参数说明可参考 Microsoft 防火墙命令文档。这段命令是旧版问题的处理方法,不能代替对其他网络或系统问题的排查。

Code Sandbox 教程文档这一步卡住了?联系我们