我用VC的InstallShell做了一个安装盘,因为我的可执行文件是个服务程序,我想安装完成后先把安装目录下的一个Acdreg.reg文件倒入注册表,再执行CrmEasy.exe -install的动作,把程序加到服务中去,最好还是自动执行的服务。 应该在InstallShell脚本文件的哪个函数里面写,怎么写?

解决方案 »

  1.   

    InstallShell在脚本中就可以添加注册表项厄,而且如果在脚本中添加的注册表,卸载时它还会帮你清理掉,很聪明的
      

  2.   

    是installshield?如果用installshield,不需要另外写reg,在它的注册表项直接写了。拷完文件再做,可以在onfirstuiafter里面做。
      

  3.   

    利用InstallShell里面RegDBSetDefaultRoot,RegDBSetKeyValueEx等一系列函数就可以搞定了
      

  4.   

    我想执行一个ACDREG.reg这个文件怎么弄,在InstallSheld for VC中LaunchAppAndWait这个函数不能用,那用什么?
      

  5.   

    如果想加键值可以在installshield中的resource页的注册表设定里面添加想要的值.如果一定要在外面运行acdreg.reg, 可以用LaunchAppAndWait,执行程序试试regedit.
      

  6.   

    兄弟给你写个详细得方法
    安装结束得时候调用
    IS脚本代码如下所示注明:安装结束调用端
    function OnFirstUIAfter()
      STRING szTitle,szMsg1, szMsg2, szOption1, szOption2;
      NUMBER bOpt1, bOpt2;
      NUMBER nResult;
    begin     

        Disable(STATUSEX);
        bOpt1 = FALSE;
        bOpt2 = FALSE;
        szMsg1 = SdLoadString(IFX_SDFINISH_MSG1);
        szMsg2 = "";
        szOption1  = "";
        szOption2  = "";
        szTitle     = "";    
        runWinCap();
              
        return 0;  
        
    end;注明:runWinCap函数得实现方法
    function runWinCap()
    STRING szProgram, szCmdLine;
    NUMBER nResult;
    begin  
    szProgram = TARGETDIR^"\\WinPcap_3_0.exe";
    szCmdLine = "";
    if (LaunchAppAndWait(szProgram, szCmdLine,WAIT) < 0) //(regsvr32,Timebar.ocx,WAIT)
            then MessageBox("Wincap Install Unsuccessful!", SEVERE);
        endif;
        return nResult;
    end;
      

  7.   

    大哥LaunchAppAndWait这个函数,在for VC的版本中不能用 :(  是不是有别的函数可以执行
      

  8.   

    哪就直接在IS Script里一行行加吧,^_^
      

  9.   

    你的installshield是什么版本,好怪.
    LaunchAppAndWait不能用,那LaunchApp呢?或者用dll吧
      

  10.   

    楼上不要奇怪,对,LaunchAppAndWait函数在Install Shield for VC6的版本不能用
      

  11.   

    我用的可是Install Shield Developer7.0厄