Inno Setup 判断.NET是否安装

原创 2015年11月19日 19:15:45

Inno Setup 判断.NET是否安装,如未安装则提示下载安装,且不继续执行安装步骤:

[Code]
function IsDotNetDetected(version: string; service: cardinal): boolean;
// Indicates whether the specified version and service pack of the .NET Framework is installed.
//
// version -- Specify one of these strings for the required .NET Framework version:
//    'v1.1.4322'     .NET Framework 1.1
//    'v2.0.50727'    .NET Framework 2.0
//    'v3.0'          .NET Framework 3.0
//    'v3.5'          .NET Framework 3.5
//    'v4\Client'     .NET Framework 4.0 Client Profile
//    'v4\Full'       .NET Framework 4.0 Full Installation
//
// service -- Specify any non-negative integer for the required service pack level:
//    0               No service packs required
//    1, 2, etc.      Service pack 1, 2, etc. required
var
    key: string;
    install, serviceCount: cardinal;
    success: boolean;
begin
    key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\' + version;
    // .NET 3.0 uses value InstallSuccess in subkey Setup
    if Pos('v3.0', version) = 1 then begin
        success := RegQueryDWordValue(HKLM, key + '\Setup', 'InstallSuccess', install);
    end else begin
        success := RegQueryDWordValue(HKLM, key, 'Install', install);
    end;

    // .NET 4.0 uses value Servicing instead of SP
    if Pos('v4', version) = 1 then begin
        success := success and RegQueryDWordValue(HKLM, key, 'Servicing', serviceCount);
    end else begin
        success := success and RegQueryDWordValue(HKLM, key, 'SP', serviceCount);
    end;
    result := success and (install = 1) and (serviceCount >= service);
end;

function InitializeSetup(): Boolean;
var ErrorCode: Integer;
begin
    if not IsDotNetDetected('v4\Client', 0) then begin
        MsgBox('xxxTMS云平台需要安装微软Microsoft.NET Framework'#13#13
            '请点击确定,然后在打开的网页中下载并安装.NET Framework,'#13
            '在安装完成后再双击本安装文件继续安装xxxTMS云平台客户端。', mbInformation, MB_OK);
        //Path := ExpandConstant('{pf}\Internet Explorer\iexplore.exe'); 
        //Exec(Path, 'http://rj.baidu.com/soft/detail/15910.html?ald', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); 
        ShellExec('open', 'http://rj.baidu.com/soft/detail/15910.html?ald', '', '', SW_SHOW, ewNoWait, ErrorCode)
        result := false;
    end else begin
        result := true;
        MsgBox('您已经安装了' ,mbInformation, MB_OK);
    end;
end;

项目inno setup安装脚本,带检测.net framework

完全不懂delphi语言,只是看过这种安装脚本,搞了三天才搞好,各种测试,各种改,终于做出了一个比较完整的安装包。 要说,还是有很多改进的地方,比如没有使用procedure,inno setup可以...
  • yunlight88
  • yunlight88
  • 2016年08月29日 16:00
  • 1951

inno setup判断软件是否安装过

如果软件已在其它盘安装过,则要求先卸载;如果安装在当前盘,则直接覆盖。通过将每次安装的路径写注册表,卸载时移除注册表。 ;reg path #define REGPATH "Software\MK...
  • ypchen001
  • ypchen001
  • 2016年03月29日 20:03
  • 553

InnoSetup 安装和卸载时判断程序是否运行

InnoSetup 安装和卸载时判断程序是否运行
  • pipi0714
  • pipi0714
  • 2017年06月20日 14:28
  • 742

inno setup 安装前判断进程是否存在,以及停止相应进程

最近用inno setup想做一个exe,可是在安装之前要停止正在运行的相应进程,可是发现它自身的方法不能满足要求,终于在网上找到了相应的资料,在这里总结一下,方便以后使用。 1:如果我只是单纯的想...
  • u011592169
  • u011592169
  • 2013年09月04日 17:00
  • 4553

inno setup怎么检测系统是否安装了vcredist_x86 exe

;静默安装vcredist_x86.exe [Run] Filename: {app}\vcredist_x86.exe; Parameters: /q; WorkingDir: {tmp}; F...
  • bible521125
  • bible521125
  • 2014年08月25日 10:35
  • 2432

Innosetup 安装包 在安装前判断是否有其他安装程序正在安装...

方法有: 1.使用系统服务WinMgmts 系统信息 通过 "winmgmts:\\.\root\CIMV2" 遍历进程列表。 var FSWbemLocator: Variant; FWMIServ...
  • Tinide
  • Tinide
  • 2017年03月18日 14:26
  • 502

Inno setup 安装、卸载检测进程运行情况

[code] // 安装前检查关闭**进程 function InitializeSetup():Boolean; //进程ID var appWnd: HWND; begin   Result :=...
  • yuyefuxiao521
  • yuyefuxiao521
  • 2017年04月15日 14:50
  • 1017

Inno Setup 安装或卸载重启标志

[Setup]AlwaysRestart=yes  总是重启AlwaysRestart=no   根据其他段的情况提示是否要重启(比如某个文件设置了restartreplace,并且在安装时被锁定替换...
  • peter_chung
  • peter_chung
  • 2011年07月14日 10:56
  • 2504

使用Inno Setup 打包.NET程序,并自动安装.Net Framework

Inno Setup 是一个windows系统下的安装包制作程序。它是免费的(而且允许免费用于商业用途)。官网网站:http://www.jrsoftware.org/ 虽然说.NET 可以使用...
  • CLeopard
  • CLeopard
  • 2014年10月28日 23:48
  • 3557

Inno Setup 根据window系统32位或64位安装对应程序

最近在弄java Swing 打包成可执行文件,这时候用到了Inno Setup工具,这个打包成安装程序还是非常不错的,下面用到的Inno Setup的脚本,有注释 ; -- 64BitTwoArc...
  • m0_37355951
  • m0_37355951
  • 2017年12月28日 17:44
  • 306
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Inno Setup 判断.NET是否安装
举报原因:
原因补充:

(最多只允许输入30个字)