InstallShield中怎么的到windows的版本?并且怎么使自己安装包中的一个文件不被安装?装好了删掉也可以。

解决方案 »

  1.   

    自己用VC写一个DLL文件获取windows版本,用installshield调用DLL获取版本即可。
      

  2.   

    我只用inno setup做过是 MinVersion 关键字 ,干吗要用installshield,生成的文件狂大,安装狂慢,学起来又难。试试inno setup 很好的 功能也很强
      

  3.   

    查一下InstallShield的帮助,里面有好几个函数可以得到的
      

  4.   

    InstallShield中有一些系统版本的宏,可以利用来判断
      

  5.   

    1.检查操作系统
      function CheckRequirements() // 检测安装所需要的环境
       NUMBER nvDx, nvDy, nvResult;
       STRING svResult;   begin
        bIsShellExplorer = FALSE;
        bIsWindowsNT4 = FALSE;
        bIsWindowsNT351 = FALSE;
        bIsWindows95 = FALSE;
        bIsWindows98 = FALSE;
        // 测量屏幕分辨率,最小要求为640 x 480
        GetExtents( nvDx, nvDy );
        if (nvDy < 480) then
         MessageBox( @ERROR_VGARESOLUTION, WARNING );
         abort;
        endif;
        // 设置"安装"操作模式
        bIs32BitSetup = TRUE;
        GetSystemInfo( ISTYPE, nvResult, svResult ); // 获得操作系统的类型信息
        if (nvResult = 16) then
         bIs32BitSetup = FALSE;// 行16位安装程序
         return 0; 
        endif;
    // 检测目标操作系统
        GetSystemInfo( OS, nvResult, svResult );
       if (nvResult = IS_WINDOWSNT) then
         // 判定操作系统是Windows NT 4.0还是Windows NT 3.51,
        if (GetSystemInfo( WINMAJOR, nvResult, svResult ) = 0) then
         if (nvResult >= 4) then
          bIsShellExplorer = TRUE;
          bIsWindowsNT4 = TRUE;
         else
          bIsWindowsNT351 = TRUE;
         endif;
        endif;
       elseif (nvResult = IS_WINDOWS9X) then
        bIsShellExplorer = TRUE;
        // 判定操作系统是Windows 95还是Windows 98
        GetSystemInfo (WINMINOR, nvResult, svResult);
        if (nvResult < 10) then
         bIsWindows95 = TRUE;
        else
         bIsWindows98 = TRUE;
        endif;
       endif;
      end;2.在File Groups页中建立新的File Group,将该文件加入到该文件组中,根据用户的选择来决定是否安装该文件组即可实现