无法启动64位PowerShell但PowerShell x86可正常运行求助
问题现象
64位PowerShell启动时抛出以下错误:
在'Registry'提供程序上执行Start操作失败。无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
在'Alias'提供程序上执行Start操作失败。无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
在'Environment'提供程序上执行Start操作失败。无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
在'Function'提供程序上执行Start操作失败。无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
在'Variable'提供程序上执行Start操作失败。无法加载文件或程序集'System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'或它的某一个依赖项。系统找不到指定的文件。
找不到路径'C:\Users\my name',因为它不存在。
找不到路径'C:\Users\my name',因为它不存在。
找不到路径'C:\Users\my name',因为它不存在。
但32位PowerShell x86可正常运行,PowerShell版本为5.1.19041.3031。
解决步骤
1. 修复系统及.NET Framework组件
- 以管理员身份打开64位命令提示符,依次执行以下命令修复系统文件:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow - 下载.NET Framework 4.x离线安装包(如4.8),覆盖安装以修复损坏的程序集。
2. 修正用户环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在用户变量中检查
USERPROFILE项:- 确保其值指向实际存在的用户路径(如
C:\Users\你的真实用户名),若路径错误或缺失,手动修改并保存。
- 确保其值指向实际存在的用户路径(如
- 若无法通过图形界面操作,可使用管理员权限的32位PowerShell执行命令修改:
[Environment]::SetEnvironmentVariable("USERPROFILE", "C:\Users\你的真实用户名", "User")
3. 重新注册64位System.Transactions程序集
- 以管理员身份打开64位命令提示符,导航到.NET Framework 64位安装目录(通常为
C:\Windows\Microsoft.NET\Framework64\v4.0.30319),执行注册命令:cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 regasm System.Transactions.dll
4. 重置PowerShell配置文件
- 用管理员权限的32位PowerShell执行命令,删除当前用户的PowerShell配置文件:
Remove-Item -Path $PROFILE -Force -ErrorAction SilentlyContinue - 尝试启动64位PowerShell,系统会自动生成新的默认配置文件;若仍有问题,可先通过
powershell.exe -NoProfile启动(不加载配置文件),验证是否为配置文件冲突导致。
5. 检查用户文件夹权限与存在性
- 确认
C:\Users\你的真实用户名文件夹存在,若不存在则手动创建。 - 右键该文件夹→「属性」→「安全」,确保当前用户拥有「完全控制」权限,若权限不足则添加并应用设置。
内容的提问来源于stack exchange,提问作者penguinjuice311

