zoukankan      html  css  js  c++  java
  • HOWTO:安装包卸载时如何删除安装时写在系统环境变量中的内容

    在用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<0then    

            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相关的路径,但也要注意,这里最好选择唯一标示的字符串,否则可能会把其他程序写入的路径变量也同时删除了。

    版权声明: 转载时请务必以超链接形式标明文章原始出处和作者信息  

  • 相关阅读:
    java只有值传递,不存在引用传递
    Sring容器的懒加载lazy-init设置
    Spring加载xml配置文件的方式(BeanFactory和ApplicationContext区别)
    Mysql中外键的 Cascade ,NO ACTION ,Restrict ,SET NULL
    深入浅出Java回调机制
    Redis配置文件中关于bind参数
    Mysql中MyISAM引擎和InnoDB引擎的比较
    Mybatis(一):MyBatis配置文件config.xml详解
    mybatis数据源源码剖析(JNDI、POOLED、UNPOOLED)
    Mybatis(六):spring与mybatis三种整合方法
  • 原文地址:https://www.cnblogs.com/wanbinghong/p/1943406.html
Copyright © 2011-2022 走看看