zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Markdown引用图片,且不使用网上链接的解决方法
    测试
    sudo用户权限添加问题
    windows安装ipython
    ansible基本操作
    mysql用户权限操作
    解决windows7系统的快捷方式无法添加到任务栏
    linux下查看磁盘分区的文件系统格式
    mail客户端POP和IMAP协议
    linux设置history历史记录
  • 原文地址:https://www.cnblogs.com/falqs/p/2248187.html
Copyright © 2011-2022 走看看