Windows: 手动/脚本方式将未注册的安装软件写入注册表(路径)

如需要某些外部启动,如上篇的ShellExecuteW启动。

或是不想维护全局环境变量。

1、手动添加

1. 打开注册表编辑器

win+r regedit

2. 导航到路径

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

3. 右键点击 App Paths,选择 新建 -> 项,并将项名称设置为 XXX.exe

XXX为需要设置的软件名称

4. 在右侧,双击默认值,设置为 XXX.exe 的完整路径

如D:\Path\To\XXX.exe

5. 右键点击空白区域,选择 新建 -> 字符串值,命名为 Path,并将其值设置为程序所在的目录路径

如D:\Path\To\

2、Python脚本

import winreg as reg

import os

def add_to_app_paths(app_name, app_path):

try:

key = reg.CreateKey(reg.HKEY_LOCAL_MACHINE, f"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\{app_name}")

reg.SetValue(key, '', reg.REG_SZ, app_path)

reg.SetValueEx(key, 'Path', 0, reg.REG_SZ, os.path.dirname(app_path))

reg.CloseKey(key)

print(f"{app_name} 已成功添加到系统 App Paths")

except Exception as e:

print(f"添加 {app_name} 到系统 App Paths 时出错: {e}")

# 替换为实际的名称与路径

program_name = "XXX.exe"

program_path = r"D:\Path\To\XXX.exe"

add_to_app_paths(program_name, program_path)