Inno Setup 打包工具总结(转)
最近打包用到了Inno setup,在这个过程中容易犯一些低级错误,特别写出来已提醒自己
1.打包文件夹
打包文件按照向导来一般没什么问题,但文件夹就不一样了。向导生成的打包文件夹的代码如下:
- Source: "D:MyProject/XX/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
它解压时直接把XX目录下的所以文件拷贝到安装目录下,而没有生成XX目录,程序如果要引用XX目录下的文件就会出现错误。
我改成这样就不会有事了(也许向导可以生成,我还不清楚)
- Source: "D:MyProject/XX/*"; DestDir: "{app}/XX"; Flags: ignoreversion recursesubdirs createallsubdirs
2.桌面图标
向导默认生成的代码不会给你的应用程序加上图标,同时也不会在开始程序菜单里加上卸载程序的快捷方式
- Name: "{group}/XX"; Filename: "{app}/XX.exe"
- Name: "{group}/{cm:UninstallProgram,XX}"; Filename: "{uninstallexe}"
- Name: "{commondesktop}/XX"; Filename: "{app}/XX.exe";IconFileName:"{app}/res/XX.ico"; Tasks: desktopicon
在Icons下添加这些代码就可以做到。
3.安装程序时要注册某些ocx控件或DLL
我自己的做法是些一个bat脚本来注册ocx或者dll,放在自动Run下,在程序运行之前运行它。当然Inno setup里面也有这样的脚本代码
4.如果程序运行需要一些组件支持,比如.NetFrameWork,在解压时就要检测系统是否安装了.NetFrameWork
- [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
- ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');
- Exec(ExpandConstant('{tmp}/dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
- end
- end;
Inno Setup 打包工具总结(转)的更多相关文章
- Inno Setup 打包工具总结
Inno Setup 打包工具总结 分类: Install Setup 2013-02-02 15:44 2386人阅读 评论(0) 收藏 举报 最近打包用到了Inno setup,在这个过程中容易犯 ...
- inno setup 打包exe程序
inno setup 用于打包生成安装程序, 是通过的一个脚本 可以将 exe 执行文件以安装的形式,解压,添加依赖,创建快捷方式. 例如,我们写了个winform,我们怎么通过安装的形式,给客户的机 ...
- 【程序打包工具 Inno Setup】CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...
- 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...
- Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...
- Inno Setup打包添加和去除管理员权限
原文:Inno Setup打包添加和去除管理员权限 添加管理员权限 1.在[Setup]节点添加 PrivilegesRequired=admin 2.进入安装目录,找到文件SetupLdr.e32, ...
- Inno Setup CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...
- (Inno setup打包)检测系统是否已安装程序,若已安装则弹出卸载提示的代码
原文 http://bbs.itiankong.com/thread-30983-1-5.html 有6天没研究pascal代码了,昨天晚上突然来了灵感,终于解决了苦思冥想好几天没能解决的问题, 因此 ...
- Inno Setup 打包的文件以管理员权限执行
最近发现一个问题,就是Inno Setup打包的程序安装完毕后执行需求管理员权限的程序的时候会失败( inno createprocess 须要提升),解决问题的最简单办法就是打包的后的程序也以管 ...
随机推荐
- Struts2+JQuery+JSON实现异步交互
1.环境 jquery:jquery-1.9.0.min.js struts2:基本包就不说了,就说说应用json的包,主要有struts2-json-plugin-2.3.8.jar json:js ...
- [PowerShell] Backup Folder and Files Across Network
## This Script is used to backup folder/files and delete the old backup files. ## Author: Stefanie # ...
- Mybatis的连接池
先总结一个原则:mytatis的连接池最大值poolMaximumActiveConnections尽量跟服务器的并发访问量持平以至于大于并发访问量. 原因:在org.apache.ibatis.da ...
- apache+php+mysql常见集成环境安装包
http://www.thinksaas.cn/group/topic/33/ apache+php+mysql是常见php环境,在windows下也称为WAMP,对于初学者自选版本搭建总是会遇到一些 ...
- UVA 10152-ShellSort(映射+栈)
题意: 给出一堆乌龟名字,乌龟能从本身位置爬到顶端. 要求求出从原本的顺序到目标顺序的最小操作.输出每次操作移到顶端的乌龟的名字. 解析:名字用映射对应编号,把目标状态的乌龟从上到下的编号按1到N编好 ...
- [Ruby学习总结]Ruby中的类
1.类名的定义以大写字母开头,单词首字母大写,不用"_"分隔 2.实例化对象的时候调用new方法,实际上调用的是类里边的initialize方法,是ruby类的初始化方法,功能等同 ...
- 在php添加mongo过程中出现的mongo.so: > undefined symbol: php_json_encode in Unknown on line 0. After installation mongo driver for php 的错误
3 down vote my system is centos 6.3. I got the problem solved. vim /etc/php.ini then add extension=j ...
- RMAN传输表空间迁移数据
实验环境: 源数据库:oracle 10g(Release 10.2.0.1.0) 目标数据库:oracle 10g(Release 10.2.0.1.0) 待传输的表空间:TEST 1.在tes ...
- 解读JavaScript代码 var ie = !-[1,]
var ie = !-[1,]: 这句代码在IE9之前曾被称为世界上最短的IE判定代码.代码虽短但确包含了不少javascript基础知识在里面.在这个例子中代码执行时会先调用数组的toString( ...
- C# 零散笔记
关于控件 控件实质就是一个类 属性中的Name就是它实例后的变量名 属性中的其他东西就是类中的变量或函数 例如: 可以直接通过Name.BackColor=Color.Yellow; 来直接操作控件的 ...