installshield中如何执行批处理 还有设置环境变量

如何执行批处理

 

我们可以在事件中使用方法 来执行  installshield提供了该方法LaunchAppAndWait 来调用应用程序

 

 

//执行卸载脚本
function ExecuteUnstall()
string cmdline;        
begin   
              if(AskYesNo("您确定要卸载吗",YES)=NO)  then
                abort;             
               endif;
               cmdline="cmd /c /""+TARGETDIR+"//tools//uninstall.bat/"";  
               if (LaunchAppAndWait ("",cmdline, WAIT) < 0) then
                                MessageBox ("Unable to launch cmd "^cmdline^".",SEVERE);
               endif;    
               
              
             
end;

 

 

设计环境变量  环境变量 可以从注册表中设置

用户变量的位置是 :HKEY_CURRENT_USER/Environment

系统变量的位置是:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment

 

function SetEnvironment()
begin       
        RegDBSetDefaultRoot (HKEY_CURRENT_USER);
        RegDBSetKeyValueEx ("Environment" , "JAVA_HOME" , REGDB_STRING_EXPAND , TARGETDIR+"//Java" , -1); 
        RegDBSetKeyValueEx ("Environment" , "CATALINA_HOME" , REGDB_STRING_EXPAND ,TARGETDIR+"//tomcat" , -1);
        RegDBSetKeyValueEx ("Environment" ,"JRE_HOME" , REGDB_STRING_EXPAND ,TARGETDIR+"//Java//jre1.5.0_18" , -1);
      
        //这个地方nzType千万不要直接用 REGDB_STRING    否则会编译出错 日
        //if (RegDBGetKeyValueEx (szKey, "Path", nzType, svOld, nsize) < 0) then
        //        MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
        //        abort;
        //endif;
        // svNew=svOld+";"+TARGETDIR+"//Java//bin";     
        //RegDBSetKeyValueEx ("Environment" , "Path" , REGDB_STRING ,svNew , -1);
               
end;

posted @ 2010-11-30 17:14  饺子吃遍天  阅读(225)  评论(0编辑  收藏  举报