inno setup 软件打包

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:"LicensesBC96F860-9928-11cf-8AFA-00AA00C00905";ValueType: String;ValueData:"mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj";Flags:createvalueifdoesntexist uninsdeletevalue

  

作者:first_semon
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
原文地址:https://www.cnblogs.com/first-semon/p/6898103.html