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

  • 相关阅读:
    android studio常用快捷键
    html5开发之viewport使用
    Android之 -WebView实现离线缓存阅读
    Android总结篇系列:Activity生命周期
    设计模式系列(0)
    通过Jni实现AES的CBC模式加密解密
    Android Studio通过JNI调用NDK程序
    Android Studio] Gradle项目中添加JNI生成文件(.so文件)
    Android Studio开发JNI工程
    Java中RSA非对称密钥加解密使用示例
  • 原文地址:https://www.cnblogs.com/falqs/p/2248187.html
Copyright © 2011-2022 走看看