2017-05-26

软件开发完毕以后,要进行打包发布,有几款打包用的软件很常见:innosetup,nullsoft,installshield.本人今天终于把自己独立开发的呈现软件打了包。第一个版本暂告一段落。

关于innosetupde 使用方法就是简单地傻瓜式。关于他的安装和普通软件的安装方法一样。打开innosetup界面如下:

不用去管哪个小的界面窗口,那只是之前打包的历史记录罢了。

新建弹出对话框点击下一步:

点击下一步再下一步如下:

在1出选择要打包的可执行文件。

在2出选择所依赖的库文件及必要文件

再3出选择依赖的文件夹(后续iss文件中需要修改)

点击next---》next--->next--->next如下:

分别选择要打出安装包的路径和安装包的名字。点击next结束。

先不要编译(不过也可以先编译后面更改过后再次编译)

[Files]
Source: "DLL文件所在路径"; DestDir: "{app}"; Flags:ignoreversion regserver
Source: "DLL文件所在路径"; DestDir: "{app}"; Flags:regtypelib
 
代码解析:
其中Flags:段的regserver参数就是注册
在RUN段就是多余的
ignoreversion 忽略版本
regserver 注册activeX DLl/OCX
regtypelib 注册类型库TLB
restartreplace 如文件在使用重启替换
noregerror 注册失败不显示错误信息
replacesameversion 替换相同版本
uninsnosharedfileprompt 卸载时不出现共享文件提示
sharedfile 设为共享文件
sharedfile 设为共享文件"

如果想要在安装路径下保存原有的文件夹,子文件夹,需要在大括号后面+“/文件夹名字”

2017-05-26

对于要修改注册表信息的时候:要使用[registry]使用方式如下:

注册表字段
参数

根键。必须的一个:

HKCR (HKEY_CLASSES_ROOT)

HKCU (HKEY_CURRENT_USER)

HKLM (HKEY_LOCAL_MACHINE)

HKU (HKEY_USERS)

HKCC (HKEY_CURRENT_CONFIG)

 Subkey  子键名,可以包含常量(子文件夹)
 ValueType

值类型,必须是下列中的一个:

none

string

expandsz

multisz

dword

binary

如果指定了none (默认设置),安装程序将创建一个没有键值的键,在这种情况下,ValueName 和ValueData 参数将被忽略。

 ValueName  要创建的值名,可以包含常量,如果是空白的,将写入到“默认”值
 ValueData  值的数据
 Flags

是额外选项设置。多个选项可以使用空格隔开。支持下面的选项:

createvalueifdoesntexist

deletekey

deletevalue

dontcreatekey

noerror

preservestringtype

uninsclearvalue

uninsdeletekey

uninsdeletekeyifempty

uninsdeletevalue

[registry]
Root:HKCR;Subkey:"Licenses";ValueData:"Licensing: Copying the keys may be a violation of established copyrights.";Flags:createvalueifdoesntexist
Root:HKCR;Subkey:"Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905";ValueType: String;ValueData:"mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj";Flags:createvalueifdoesntexist uninsdeletevalue

  

inno setup 软件打包的更多相关文章

  1. 分享一个自用的 Inno Setup 软件打包脚本

    此脚本支持打包mysql.安装mysql服务.安装windows服务.操作ini文件.操作注册表.高效压缩文件等功能,基本能满足常用的软件打包需求. ;定义各种常量 #define MyAppName ...

  2. [InnoSetup]Inno Setup软件打包脚本

     脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!   #define MyAppName "SFT期货交易系统&quo ...

  3. Inno setup 简单打包教程

    转自:http://blog.csdn.net/ruifangcui7758/article/details/6662646 前段时间关注了VC6.0自带的Installshield打包的使用方法,感 ...

  4. Inno Setup 软件封装

    例子: ; 脚本用 Inno Setup 脚本向导 生成. ; 查阅文档获取创建 INNO SETUP 脚本文件的详细资料! #define MyAppName "隧道照明系统客户端程序&q ...

  5. 使用Inno SetUp脚本打包Winform程序

    在开发桌面程序时,往往需要用到打包工具将程序打包为exe可执行文件. 之前在项目中用了下 InstallShield Limited Edition for Visual Studio  2015,它 ...

  6. Inno Setup 5打包exe遇到的坑,做一个学习记录

    ; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "人员管理系统"#de ...

  7. Inno Setup Winfrom 打包工具

    1.下载并安装Inno Setup 编译器 2.安装完成后打开Inno Setup 编译器: 3.选择[用「脚本向导」创建新的脚本文件(S)]: 4.点击[下一步]: 5.填写制作后程序的基本信息: ...

  8. exe4j 打包jar包程序,inno setup complier打包所有

    关于库: jar包中对于引用第三方库的话,需要再exe4j中引用. rxtx http://rxtx.qbang.org/wiki/index.php/Download

  9. 使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包(转)

    之前一直都没涉及到打包安装方面的东西,都是另一个同事负责的,使用的工具(installshield)也比较高大上一点,可是后来他离职以后接受的同事也只能是在这个基础上做个简单的配置,然后打包,可是现在 ...

随机推荐

  1. 【python】序列化和反序列化

    序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象.在python的标准库中,专门提供了json库与pickle库 ...

  2. Video Processing subsystem例程分析

    Video Processing subsystem例程分析 1.memory_ss模块 slave端口: S00: 连接设备: microblaze_ss----M_AXI_DC 时钟来源: S01 ...

  3. MySQL Binlog解析

    https://yq.aliyun.com/articles/238364?spm=5176.8067842.tagmain.52.73PjU3 摘要: 概述 MySQL的安装可以参考:Linux(C ...

  4. [Windows Hook] 屏蔽键盘按键

    //该例程为在系统级屏蔽一些系统键.如WIN.TAB.CAP.POWER.SLEEP.HOME等! //屏蔽组合键下面例程不适用!(比如CTRL+ESC需要在钩子函数中用(p.vkCode = VK_ ...

  5. HMM(隐马尔科夫模型)与分词、词性标注、命名实体识别

    转载自 http://www.cnblogs.com/skyme/p/4651331.html HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{ ...

  6. 黄聪:ionic使用ion-nav-bar设置了bar-positive类但在安卓Android设备中无法置底

    这时候还需要加这段代码: var app = angular.module("app", ["ionic" ]); app.config(["$ion ...

  7. BlockingQueue队列

    1.BlockingQueue定义的常用方法如下     抛出异常 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e,time,unit) 移除 remove() ...

  8. 转自高手关于SQL 锁的叙述。。(nolock,rowlock,tablock,xlock,paglock)

    锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: [丢失更新]A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 ...

  9. 开启和关闭HBase的thrift进程

    开启 $HBASE_HOME/bin/hbase-daemon.sh start thrift [hadoop@bigdatamaster hbase]$ jps 3543 ThriftServer ...

  10. Boost:shared_memory_object --- 共享内存

    什么是共享内存 共享内存是最快速的进程间通信机制.操作系统在几个进程的地址空间上映射一段内存,然后这几个进程可以在不需要调用操作系统函数的情况下在那段内存上进行读/写操作.但是,在进程读写共享内存时, ...