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