博客
关于我
Inno setup打包vc++运行库
阅读量:638 次
发布时间:2019-03-14

本文共 1377 字,大约阅读时间需要 4 分钟。

在打包Windows应用程序时,很多开发者都会遇到依赖VC++运行库的情况。为了方便用户直接使用Inno Setup进行打包,本文将详细说明如何集成并正确打包VC++运行库。

下载VC++运行库

首先,需要从官方网站下载相应版本的VC++运行库。搜索引擎中可以找到最新版本的下载链接,通常会以.x86.exe.x64.exe的格式提供。

在Inno Setup中加载运行库

打开Inno Setup脚本文件,进入[Files]标签卡,添加以下内容:

Source: "..\runtime\VC_redist.x86.exe"; DestDir: "{tmp}";`

这将将运行库文件复制到临时目录中。

启动运行库安装

[Run]标签卡中,添加安装命令:

Filename: "{tmp}\VC_redist.x86.exe"; Parameters: "/i \"{tmp}\VC_redist.x86.exe\" /quiet";`StatusMsg: "安装Microsoft Access Database Engine 2015 Redistributable...";`

这里Check: NeedInstallVC9SP1用于检测是否需要安装VC9 SP1补丁。

检测是否需要安装VC9补丁

使用以下代码判断VC9 SP1是否已安装:

var vc9SP1Missing: Boolean;function NeedInstallVC9SP1(): Boolean;begin  Result := vc9SP1Missing;end;

添加注册表检测代码:

# 检测之前安装function InitializeSetup(): Boolean;var vcVersion: Cardinal;begin  if RegQueryDWordValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{5CD4E357-9ED6-42AC-B654-F1FC21DD60C9}', 'Version', vcVersion) then  begin    # 如果未找到特定版本,判断为缺失    if vcVersion = 0 then      vc9SP1Missing := true;  end;end;

这里{5CD4E357-9ED6-42AC-B654-F1FC21DD60C9}是VC9 SP1的产品ID,需要根据实际需要使用不同的值。

查看运行库版本信息

如果需要知道具体使用的VC运行库版本,可以按照以下步骤操作:

  • 解压VC++运行库文件
  • 使用文件浏览器打开.exe文件
  • 使用Ctrl+F搜索ProductCode
  • 确认Minimum RuntimeAdditional Runtime的版本号
  • 注销注册表信息后,搜索ProductCode即可确认安装状态
  • 注意事项

    • 确保Inno Setup脚本位于运行库文件所在目录。
    • 注册表路径和产品ID需根据实际运行库版本调整。
    • 打包完成后,确保检测结果与注册表信息一致。

    通过以上步骤,您可以轻松在Inno Setup中集成并打包VC++运行库,确保应用程序能够正确运行。

    转载地址:http://lcflz.baihongyu.com/

    你可能感兴趣的文章
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>
    OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
    查看>>
    osgearth介绍
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>