下载InnoDependencyInstaller-master.zip

介绍

Inno Setup Dependency Installer是一组Inno Setup script和一组Pascal代码,扩展了Inno Setup Installer的功能,以提供在终端用户工作站安装产品时依赖安装的可能性(如。net Framework或Visual c++ Redistributable)。

它允许您在应用程序的安装过程中安装各种产品。详情请参阅支持产品列表。此外,您可以添加自己的产品依赖项脚本。

安装和使用

下载和安装Inno安装从这里下载和解压脚本或官方的Github存储库打开解压setup.iss 文件注释产品定义,禁止安装它们,只留下需要安装的产品

#define use_vc2015 <—将尝试安装Visual c++ Redistributable 2015;#define use_vc2015 <—注释掉,将不会尝试安装
修改其他部分,如[设置][文件][图标]必要时使用Inno setup&compiler编译

细节

大多数时候,你需要调整setup.iss 文件,因为不同的Windows版本检查和包含你需要的依赖。

如果没有安装依赖项(产品),该脚本将检查产品的安装是否存在于dependencies目录中,该目录在setup中是可配置的。iss(默认:\ MyProgramDependencies)。如果它不存在,脚本尝试下载它。这意味着可以支持通过外部驱动器离线安装。您还可以将所有依赖项安装程序打包到最终setup.exe中,以消除外部目录(参见directxruntime.iss)。

依赖项的安装程序是自动的,并且处于静音或半静音模式。因此不需要用户交互。

这个设置脚本使用了[CostumMessages],所以你可以很容易地添加多语言支持到你的设置和配置设置(如离线依赖目录),而不需要查看[代码]部分。

项目结构

源代码是模块化编写的,结构如下:

设置。iss -包含你需要的模块(产品)的基本设置。它们需要包括在顶部像#include“scripts\products\dotnetfx11。iss",然后你只需要调用他们的主函数内部的[代码]部分像dotnetfx11();bin—包含src安装程序的最终输出—包含程序脚本的应用程序文件

产品。包含产品脚本的共享代码。pas -包含产品的实际代码。iss isxdl -包含安装用的下载器DLL(如果有东西需要下载)和它的语言文件(例如german.ini)。这是您可以放置isxdl下载器的语言文件的地方。产品——包含应用程序所需的产品脚本(例如。net Framework 2.0)

支持产品列表

net

dotnetfx11。net Framework 1.1 dotnetfx11lp。. net Framework 1.1语言包dotnetfx11sp1。. net Framework 1.1 +服务包1 dotnetfx20。net Framework 2.0 dotnetfx20lp。net Framework 2.0语言包dotnetfx20sp1。net Framework 2.0 + Service Pack 1。. net Framework 2.0服务包1语言包dotnetfx20sp2。net Framework 2.0 + Service Pack 2。net Framework 2.0服务包2语言包dotnetfx35。net Framework 3.5 dotnetfx35lp。net Framework 3.5语言包dotnetfx35sp1。. net Framework 3.5 +服务包1。net Framework 3.5服务包1语言包dotnetfx40客户端。net Framework 4.0客户端配置文件dotnetfx40full。net Framework 4.0 full dotnetfx45。net Framework 4.5.2 dotnetfx46。net Framework 4.6.2。dotnetfx47。net Framework 4.7.2 dotnetfx48。net Framework 4.8 dotnet50。net运行时5.0 netcore31。核心运行时3.1。iss - ASP。NET Core运行时5.0iss - ASP。NET Core Runtime 3.1 dotnet50desktop。net桌面运行时5.0 netcore31desktop。.NET桌面运行时3.1
Microsoft Visual c++可重新发布

vcredist2005。Visual c++ 2005可重新发布的vcredist2008。iss - Visual c++ 2008可重新发布的vcredist2010。iss - Visual c++ 2010 redistributable vcredist2012。iss - Visual c++ 2012 redistributable vcredist2013。iss - Visual c++ 2013 redistributable vcredist2015。iss - Visual c++ 2015 redistributable vcredist2017。iss - Visual c++ 2017 redistributable vcredist2019。iss - Visual c++ 2015-2019可重新发布
Microsoft SQL Server

sql2008express。iss - SQL Server 2008 Express r2 sqlcompact35sp2。iss - SQL Server Compact 3.5 +服务包2
微软的Windows安装程序

msi31。iss -Windows安装3.1 msi45。iss - Windows安装程序4.5
directxruntime。DirectX终端用户运行时wic。Windows成像组件帮助功能

winversion。iss -确定已安装Windows版本文件的辅助功能。帮助函数确定一个文件的版本stringversion。帮助函数正确解析一个版本字符串dotnetfxversion。帮助函数确定已安装的。net框架版本,包括服务包netcorecheck。确定所安装的。net核心msiproduct版本的辅助函数。帮助功能,检查已安装的msi产品

提示和技巧

有几种分发依赖项安装程序的方法。默认情况下,当依赖项在setup.iss中被定义为需要时,就会从官方网站下载。另一种方法是将第三方安装程序和你自己的安装程序一起发布到。\ myprogramdependenciesfolder中。此外,可以将依赖项打包到一个单独的setup.exe文件中。要做到这一点,你需要:

通过在你的setup.iss 或适当的product.iss 文件中定义源文件,包括第三方安装程序

来源:“src \ dxwebsetup.exe”;国旗:dontcopy
在AddProduct()之前调用ExtractTemporaryFile()函数

ExtractTemporaryFile(“dxwebsetup.exe”);

注意:看看directxruntime.iss。

已知问题

如果需要依赖项,则安装前显示的所需空闲硬盘驱动器大小不正确。

学分

我想感谢社区分享了许多修复和改进。请向官方的Github存储库发送pull请求。

历史

2007年10月,

初始版本
2008年8月,

现在使用dotnetchk.exe来确定哪个版本的。net框架及其语言包被安装了。net框架语言包(s)来为脚本添加翻译为下载页分隔脚本代码到多个文件中,使之更容易为不同版本的。net框架更新脚本
2009年1月,

编写的源代码模块(每个依赖现在有一个文件)添加了Windows 2000安全更新KB835732, .NET Framework 1.1, 2.0 SP1, 3.5, 3.5 SP1和他们的语言包删除了dotnetchk.exe再次,因为它只工作于.NET Framework 2.0和以下
2009年9月,

依赖项安装例程的代码被完全重写,现在在实际安装应用程序之前执行。安装程序还检查所有依赖项是否安装成功,如果没有,显示一个错误页面增加了对32位(x86)和64位(x64) OS的支持,包括Itanium (ia64)为。net Framework 2.0 SP2和它的语言包固定的windows版本检查错误和语言包检查错误
2011年9月,

添加支持。net Framework 4.0, 4.5 Windows安装程序,Visual c++ 2010可再发行的,SQL 2008 3.5表达和SQL精简版(社区)添加辅助函数来确定安装。net Framework版本,删除冗余代码添加字符串解析器修复错误检测的版本号高于9增加了延迟和强迫mid-install重启支持添加使用# define设置。iss(社区)增加了unicode版本的Inno设置作为默认的更好的多语言支持修复了重启3010 resultcode从安装程序修复了缺少检查在Windows 2000安全更新kb835732增加了支持离线文件在x64和IA64 OS
2014年6月,

固定Visual c++ 2010可重新发布的安装参数(社区)固定KB835732安装参数(社区)
2015年1月,

改进的Visual c++可再分发检测方法(社区)固定安装产品在某些情况下使用LCID参数(社区)
2015年8月,

增加了对。net Framework 4.6(社区)的支持固定下载URL Visual c++ 2012 32位可再分发(社区)固定比较版本号与不同数量的号码
2017年8月,

添加支持Visual c++ 2017可再发行的添加支持。net框架4.6.2和4.7添加了对举的支持最终用户运行时增加了安装32位版本的产品的支持64位操作系统上增加了俄罗斯、意大利、荷兰、日本和韩国的本地化(社区)改进检测Visual c++准备安装页面上发布包改进格式(社区)改进和固定一些本地化(社区)改善和标准化的文件部分
2017年10月,

增加了可跳过的错误消息,如果依赖失败安装,可以继续对错误修正检测c++可重新发布2008在罕见的情况下修正编码的语言依赖unicode修正missing diacritics上次更新后修复安装不正确,不支持的。net框架语言包禁用下载确认对话框
2020年8月,

增加了对。net 5(微软)的支持,增加了对。net核心3.1(微软)的支持,增加了对。net框架4.7.2和4.8(社区)的支持,增加了对Visual c++ 2019可再分发(社区)的支持,增加了中文本地化(社区),改进了代码格式,风格,清晰性和注释固定过多的安装解压时间固定重复的。net注册表检查固定在没有安装6+警告固定意大利本地化(社区)删除旧的不支持的依赖,目标是生命结束的Windows版本

本文转载于:http://www.diyabc.com/frontweb/news29864.html

为人所设置的依赖安装程序相关推荐

  1. Visual Studio 2015年预览设置: 辅助安装程序说明

    本文介绍了第三方应用程序安装辅助安装的 Visual Studio 2015年预览时安装的说明.如果您安装了多设备开发功能,您需要使用其他第三方软件来处理这些项目.辅助安装程序允许您将部署到您的计算机 ...

  2. labview如何弹出提示窗口_以实例跟我学如何将LabVIEW的VI程序打包成安装程序

    当我们在LabVIEW平台上辛辛苦苦编写完成测试软件程序时,一般很少情况将程序源代码分发给用户,而是将VI程序制作成可执行的安装包程序,供用户安装使用. 那么,如何将LabVIEW中的VI程序打包成安 ...

  3. 使用VS2017将我的c++项目打包成安装程序,并设置开机自启,卸载,图标等

    大体上打包分为两步 目录 一.将编译后的exe可执行文件及其各种依赖dll.lib.图标.配置文件等先打包放到一个目录中 (1)dumpbin指令查看可执行文件的dll依赖包 (2)windeploy ...

  4. Qt发布安装程序(打包依赖库+生成安装程序)

    目录 打包Qt依赖库 打包其它依赖库 生成安装程序 下载并安装Inno Setup 5 使用Inno Setup 5 Qt编译好的项目是不能直接被双击运行的,如下所示. 缺少了依赖的库,需要添加进去. ...

  5. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 上 ...

  6. VS中使用NuGet安装依赖时提示:无法安装程序包“xxx”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中

    场景 在使用NuGet添加项目依赖,比如添加MQTTnet时提示: 安装程序包"MQTTnet3.0.0".你正在尝试将此程序包安装到目标为".NETFramework, ...

  7. java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...

    我正在开发一个依赖于 Eclipse平台4.2(Juno)的eclipse插件,并且不能安装在旧版本的eclipse上. 当用户尝试在旧eclipse上安装我的插件(通过更新站点)时,Eclipse安 ...

  8. 关闭惠普计算机通电启动注册表,惠普10代cpu电脑装win7卡logo(安装程序正在更新注册表设置)解决方法...

    最近有很多网友问我惠普电脑10代cpu台式机安装win7卡在在更新注册表设置怎么办?出现这种情况一般情况是由于没有提前注入显卡驱动,现在很多新电脑都采用的集成显卡,10代以cpu采用的集显的话,在ue ...

  9. Win10 计算机入域后安装程序、打开重要设置都要输入域管理员密码才行

    环境: Windows sever 2019AD域 域内客户端Win 10 专业版 问题描述: Win10 计算机入域后安装程序.打开重要设置都要跳出用户账户设置,输入域管理员密码才行,很不方便 解决 ...

最新文章

  1. 手机上 a 标签妙用
  2. 如何制定一个高效的数据保护计划
  3. 盘点智能语音行业:Nuance没落 BAT围绕核心业务
  4. JavaScript入门(part5)--数据类型转换
  5. getSerializableExtra
  6. 简单入门Javascript正则表达式
  7. linux命令 翻译,(翻译)Linux命令行(一)
  8. springboot 全局异常处理 自定义mvc错误页面展示
  9. 设计模式学习笔记——状态(State)模式框架
  10. gridview使用经验
  11. spark.sql读取Hive数据报错
  12. kindeditor 下图片链接取消边框
  13. 转:Qt 嵌入式开发环境搭建
  14. 计算机算法设计与分析(1)--算法概述
  15. 《操作系统原理及应用》题库-选择题
  16. 【NanoPi2试用体验】nanopi2下的二维码识别
  17. 阿里云 vs Azure-大数据
  18. 教你使用Box2d制作用蜡笔手绘物体的效果(一)
  19. python中的search的group(0),group(1).........的方法
  20. php mysql函数未定义,关于php:Wierd和Annoying错误:调用未定义的函数mysql_query()...

热门文章

  1. 国家二级计算机考试大纲,计算机国家二级考试大纲.doc
  2. 洛谷P2448 无尽的生命 树状数组
  3. Elastic:Elastic Stack 7.6.0 重磅发布
  4. c51单片机汇编语言指令,单片机汇编语言指令
  5. flash的读写擦除
  6. 牛客网-精华专题-前端校招面试题目合集
  7. 比尔盖茨The Best Books I Read in 2013
  8. 【TopCoder SRM 551 Div2】Solutions
  9. ROS中map、odom、base_link坐标系的理解和这三个坐标系在AMCL中的关系
  10. 8.ansible高级进阶-role详解