gpt4 book ai didi

registry - 批处理文件无法立即查看InstallShield脚本创建的环境变量

转载 作者:行者123 更新时间:2023-12-02 02:07:15 28 4
gpt4 key购买 nike

我们使用InstallShield 2008来安装我们的产品。产品由多个组件组成。安装组件时,将执行一个批处理文件,其中包含特定于该组件的一些安装后例程。

问题:安装后批处理文件使用在产品安装期间通过InstallScript 设置的一些环境变量。但批处理文件似乎无法立即看到注册表(以及新创建的环境变量)中的更改。

有没有一种方法可以在不重新启动系统的情况下完成安装?

可能有用的信息:目标系统 - Windows XP,当前登录的用户属于管理员组。

最佳答案

我在早期版本的 InstallShield 中遇到了同样的问题。这是我解决这个问题的方法(快速而肮脏的代码)。

#define HWND_BROADCAST          0xffff
#define WM_SETTINGCHANGE 0x001A
function UpdateEnvironmentVariable(szKey, szValue)
NUMBER nResult;
STRING szEnv;
POINTER pEnv;
begin
nResult = RegDBSetKeyValueEx(szKey, "PATH", REGDB_STRING, szValue, -1);

szEnv = "Environment";
pEnv = &szEnv;
SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, pEnv );
end;

关键是使用SendMessage。希望对您有所帮助。

关于registry - 批处理文件无法立即查看InstallShield脚本创建的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103790/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com