Windows 7安装程序,刷新路径环境变量

时间:2013-12-18 08:28:25

标签: vbscript windows-installer

我的应用程序有一个MSI安装程序,它将一些内容写入路径环境变量,但在Windows重新启动或手动进入环境变量并单击“确定”之前,不会在Windows中“刷新”。

我的客户要求我们解决此问题。

安装程序有限,但我可以选择在安装完成后运行批处理文件或VBScript。

有人知道我可以使用命令或功能吗?

1 个答案:

答案 0 :(得分:6)

如果重启不是一个选项,你可以尝试杀死explorer.exe的每个实例,但我认为这也是不可接受的。

正确的做法是向所有最顶层的窗口发送消息,以证明环境中的更改。但我不知道操作系统中有什么可以做到的。如果你可以包含一个exe并且可以访问c编译器,那么这应该可以解决问题

#include "windows.h"

void main(void) {
    SendMessageTimeout(
        HWND_BROADCAST,
        WM_SETTINGCHANGE,
        (WPARAM) NULL,
        (LPARAM) "Environment",
        SMTO_NORMAL,
        1000,
        NULL
    );
}

我尝试在Windows 7 64中使用mingw / gcc进行编译,但似乎没有问题。