• inno setup 软件安装包 如何可以自动检测、下载并安装.NET环境


    最近参与一个客户端软件项目,最为一名专业的打杂师,打包的工作最后理所当然的由我承接了。

    鉴于VS原生的打包功能实在很一般,选择了开源的inno setup,由于是.net项目,如何做到较好的自动检测、下载并安装.NET环境呢?

    请看如下代码咯:

    [Files]
    。。。
    Source: "E:\Program Files\XX\dotNetFx40_Client_setup.exe"; DestDir: "{tmp}"; Flags: ignoreversion

    ; dotNetFx40_Client_setup.exe是个.net4.0预安装包,免去了打开网页下载等步骤,提升用户体验,同时体积也小
    ; dotNetFx40_Client_setup.exe不和其他软件文件放在一个目录,它就不会拷贝到安装后的目录中,而是在临时目录中,这样重启机器之后就会被删除掉

    [Code]
    function CheckDotNet4_0():boolean;
    begin
    Result:=not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
    end;

    function InitializeSetup(): Boolean;
    var Path:string;
    ResultCode: Integer;
    begin
    if CheckDotNet4_0() then
    begin
    if MsgBox('系统检测到您没有安装.Net Framework4.0,是否立刻下载并安装?', mbConfirmation, MB_YESNO) = idYes then
    begin
    ExtractTemporaryFile('dotNetFx40_Client_setup.exe');
    Exec(ExpandConstant('{tmp}\dotNetFx40_Client_setup.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
    Result := true;
    end
    else
    begin
    MsgBox('没有安装.Net Framework4.0环境,无法运行【XX】程序,本安装程序即将退出!',mbInformation,MB_OK);
    Result := false;
    end;
    end
    else
    begin
    Result := true;
    end;
    end;

    初次发帖,还不知道怎么上传附件,有发现这篇文章并需要 预安装包 的,请留言吧。

    本文参考了:http://zhoufoxcn.blog.51cto.com/792419/279243

  • 相关阅读:
    kibana简单使用
    全文检索 高亮显示 数据库同步添加
    算法: Reverse Bits 反转位收藏
    算法:Number of 1 Bits 收藏
    JS创建二维数组
    查询状态在1,2,5,7的记录-oracle
    oracle 修改某字段,判断是否为空,如果为空赋默认值
    在运筹学中什么样的解决方案是最优的
    项目开发失败
    筛选符合条件的数据后,如何做数据源,绑定repeater
  • 原文地址:https://www.cnblogs.com/falqs/p/2248187.html
Copyright © 2020-2023  润新知