【Python开始入门】使用inno setup将exe程序封装成向导安装程序_我辈李想的博客-程序员秘密

技术标签: python  exe  Python开始入门  windows  

目录

一、inno setup安装

二、向导安装包示例

1.我的程序

2.inno 文件 

3.安装效果 

三、inno setup基本使用

四、inno setup实现管理员权限

五、报错处理


一、inno setup安装

我准备了汉化安装包,百度网盘链接:https://pan.baidu.com/s/1Um8mzB42h_kd7zlH7w3ZKg (提取码:ara1)。

二、向导安装包示例

1.我的程序

2.inno 文件 

inno打包的配置文件为.iss文件,有很多配置需要自己处理,比如向导安装中需要选择的参数,需要配置环境变量等等。

[setup]内容是inno工具创建新向导安装完成的,参数按照指导页面逐项选择就行。

[Tasks]内容是我们要生成的向导安装中的选择项,需要在后边被使用才能生效。

[Files]是我们需要的主要文件,首先需要的就是单独的exe执行程序,还有就是程序需要的文件和其他执行程序。

[Icons]

[Run]Files中的人第三方exe如果需要安装,在这里可以弹窗告知使用人,进行安装。

[Registry] 向电脑中新增环境变量,及环境变量中path路径

; 脚本由Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "RRVT"
#define MyAppVersion "1.0"
#define MyAppPublisher "李朋飞"
#define MyAppURL "https://www.bilibili.com/video/BV1L44y1Y7HQ/"
#define MyAppExeName "人人动图.exe"

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={
   {5E329829-B2C3-4373-819F-19F97179BE40}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
OutputDir=D:\Desktop\新建文件夹
OutputBaseFilename=evtsetup
SetupIconFile=C:\Users\lpf_a\PycharmProjects\VT\img\evt128.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
ChangesEnvironment=yes

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"     
Name: "installffmpeg" ; Description:"安装ffmpeg" ;Flags: restart
; 注意:  Tasks为可选任务设置,在安装界面选择

[Files]
Source: "C:\Users\lpf_a\PycharmProjects\VT\dist\RRVT\RRVT.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\lpf_a\PycharmProjects\VT\dist\RRVT\*"; DestDir: "{app}";Flags: ignoreversion recursesubdirs createallsubdirs   
Source: "C:\Users\lpf_a\PycharmProjects\VT\data\*"; DestDir: "{app}\data";Permissions:users-modify;Flags: ignoreversion recursesubdirs createallsubdirs   
Source: "C:\Users\lpf_a\PycharmProjects\VT\img\*"; DestDir: "{app}\img";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\lpf_a\PycharmProjects\VT\lib\*"; DestDir: "{app}\lib";Flags: ignoreversion recursesubdirs createallsubdirs       
Source: "C:\Users\lpf_a\PycharmProjects\VT\log\*"; DestDir: "{app}\log";Permissions:users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”

[Icons]
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\RRVT.exe"; WorkingDir: "{app}";Tasks: desktopicon
; 注意:  Icons为桌面快捷图标设置

[Run]
;Filename: “D:\Desktop\人人动图\data\ImageMagick-7.1.0-16-Q16-HDRI-x64-dll.exe”; Parameters: “/q”; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;
;Filename: “D:\Desktop\人人动图\data\K-Lite_Codec_Pack_1635_Mega.exe”; Parameters: “/q”; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;
;Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\lib\ffmpeg\bin";Tasks : installffmpeg

3.安装效果 

 

 

三、inno setup基本使用

https://blog.csdn.net/hebbely/article/details/78168071https://blog.csdn.net/hebbely/article/details/78168071

四、inno setup实现管理员权限

windows安装程序制作教程。《inno setup》可将多个安装程序打包成一个安装包,一次安装操作全部安装完成_我们做点事情吧-程序员秘密_多个软件打包安装1,下载 inno setup官网地址:http://www.jrsoftware.org下载地址:https://mlaan2.home.xs4all.nl/ispack/innosetup-5.6.1.exe2,下载安装文件的中文包拥有该中文包后,运行你的安装程序后就有中文可选,安装过程文字就都是中文版的了2.1 下载资源下载地址:https://raw.githubusercon...https://blog.csdn.net/lengyoumo/article/details/85134264

Inno Setup打包程序拥有管理员权限_芒果黑的博客-程序员秘密使用Inno Setup打包出来的安装包很多时候都需要有管理员权限,比如写系统位置的注册表、拷贝文件到系统目录之类的都需要有管理员权限,可以通过修改Inno Setup的配置现实1.首先下载ResourceHacker,下载地址https://resource-hacker.en.softonic.com/2.在Inno Setup的安装目录下找到SetupLdr.e32文件,使用ResourceHacker打开(SetupLdr.e32源文件最好备份一个,以免后面操作不当导致文件有问题)3.选https://blog.csdn.net/a137748099/article/details/111033017

五、报错处理

1.CreateProcess failed;code 2

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升_chenqk_123的专栏-程序员秘密在前面的文章中提到过,我是用的是一款名叫Inno Setup的打包安装工具,可以打包成windows安装文件。在项目收尾的时候,发现使用Inno Setup打包成安装文件后,双击安装文件,执行安装,在最后一步的时候,如果你勾选了Launch 某应用的时候会出现需要提升程序执行权限的问题,如下:在网上查了一下,其中微软官网提到需要提升程序的操作权限即需要用管理员权限启动才没有问题,连接查看这里。然而,我并不想每次用户启动程序的时候都需要右键程序,然后选择管理员权限执行,所以这种官方的这种方式不是我想https://blog.csdn.net/chenqk_123/article/details/109486575

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_15028721/article/details/121886009

智能推荐

[渝粤教育] 苏州大学文正学院 网络互联技术与实践 参考 资料_渝粤题库的博客-程序员秘密

教育-网络互联技术与实践-章节资料考试资料-苏州大学文正学院【】计算机网络互联设备随堂测验1、【单选题】网桥处理的是A、脉冲信号B、MAC 帧C、IP 包D、ATM 包参考资料【 】2、【单选题】交换机工作在 OSI 七层的哪一层A、一层B、二层C、三层D、三层以上参考资料【 】3、【单选题】在OSI的七层模型中集线器工作在哪一层A、物理层B、数据链路层C、网络层D、运输层参考资料【 】4、【单选题】以下哪个设备可以隔离广播A、HubB、

nginx php-fpm 配置https和http2_php-fpm http2_积木John的博客-程序员秘密

基础环境   阿里云ecs  ubuntu16.04  (默认的nginx的版本是1.10,支持http2)1. 安装nginx     apt-get install  nginx     之后即可用ip地址或者域名进行访问2. 添加server.conf     在nginx.conf  里面有配置文件   include /etc/nginx/co

分布式训练的GPU设置与分配(含源码可以直接测试)_gpu集群训练模型_ERROR_LESS的博客-程序员秘密

:输出日志信息,包含任务的布置情况 :自动指定设备布置任务 :设置可见设备,例如机器上有4个GPU,但设置只对一个GPU可见,则该进程无法访问其他设备 :获取所有物理设备(整块) :建立逻辑分区 :获取所有逻辑设备(分块) :设置内存自增长,需在程序开始的时候就被设置因此,本机有两块物理GPU先做一个默认gpu设置的实验,作为对照组。基础代码:容器内进行训练:默认情况下,此demo每步运行花费6ms。查看GPU占用情况:发现仅仅这一个进程就几乎占满GPU,对资源浪费十分严重。因此,进行

JavaScript—call, apply, bind 函数(20)_weixin_34037173的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

智能服务器虚拟化,详解四大服务器虚拟化架构_约会师老马的博客-程序员秘密

在本指南中,你将了解到服务器虚拟化、操作系统虚拟化、主机式虚拟化(hosted virtualization)和裸机虚拟化(bare-metal virtualization)的一些细节和它们的差异。还可以了解一下叫做混合虚拟化(Hybrid Virtualization)的新型虚拟技术,以及Microsoft的2008计划如何影响虚拟领域。VMware发布ESX已 经有七年了,虽然VMwar...

随便推点

深入理解CRITICAL_SECTION_critcalsection_happyever2012的博客-程序员秘密

http://www.cnblogs.com/dirichlet/archive/2011/03/16/1986251.html临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。本文深入研究临界区的原理,以揭示在查找死锁和确

layui的分页功能_layui分页_tyy17214的博客-程序员秘密

1.首先在layui中布局好数据表格创建一个table实例最简单的方式是,在页面放置一个元素 ,然后通过 table.render() 方法指定该容器,如下所示:1.<link rel="stylesheet" href="/layui/css/layui.css" media="all">2.<table id="demo" lay-filter="test"></table>3.<script src="/layui/layui.js"><

echarts地图和闪点结合_echarts地图闪点_dongxiexie的博客-程序员秘密

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + re...

LeetCode——第461题:汉明距离_RBreeze的博客-程序员秘密

题目:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。...

wget使用proxy的配置_ckykdwr884269的博客-程序员秘密

在~/.wgetrc中设定代理http_proxy = http://ip_or_domainname:80/ftp_proxy = http://ip_or_domainname:80/use_proxy...

linux tar permission,ubuntu下操作目录,出现Permission denied的解决办法_西红柿气象台的博客-程序员秘密

今天从一个目录下拷贝一份文件到另外一个目录下时:[email protected]:~$cp jdk-7u79-linux-x64.tar /usr/lib/jvm出现如下提示:Permission denied一、表面上看是因为权限不足,因此可以通过对usr文件夹进行授权的方式解决:[email protected]:~$sudo chmod -R 777 usr其中-R 是指级联应用到目录里的所有...

推荐文章

热门文章

相关标签