您的位置:首页 > 其它

HOWTO:安装包卸载时如何删除安装时写在系统环境变量中的内容

2011-01-24 17:52 495 查看
在用InstallShield制作安装包时,有时我们会在脚本中通过操作注册表,配置系统环境变量,比如在Path中追加,但卸载时如何清除追加的路径变量,一直有些模糊。

今天受网友启发,在InstallShield的帮助文档中找到了解决办法,代码如下:

function OnBegin()
STRING svSearchPath;
begin
// Set up the search path to pass as a parameter to PathSet.
svSearchPath = "C:\\DOS;C:\\WINDOWS;C:\\TEMP;" +
"D:\\Program Files\\Kevin Wan\\InstallShield;" +
"C:\\EXAMPLE\\SOURCE;D:\\WORK\\TEMP";

// Initialize the path buffer.
PathSet (svSearchPath);

// Display the initial search path.
// Delete D:\Program Files\Kevin Wan\InstallShield from the path buffer.
if (PathDelete ("Kevin Wan", PARTIAL) <0) then

MessageBox ("First call to PathDelete failed.", SEVERE);
endif;

// Get the search path from the path buffer; this call also releases
// the memory allocated for the path buffer.

PathGet (svSearchPath);
MessageBox(svSearchPath, INFORMATION);
end;

这里我将Sample添加到了事件响应函数OnBegin中,大家实际操作时可以写到卸载逻辑代码中。

Sample中我删除了和Kevin Wan相关的路径,但也要注意,这里最好选择唯一标示的字符串,否则可能会把其他程序写入的路径变量也同时删除了。

版权声明: 转载时请务必以超链接形式标明文章原始出处和作者信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: