NSIS 或 Inno Setup打包软件如何得到当前文件名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSIS 或 Inno Setup打包软件如何得到当前文件名相关的知识,希望对你有一定的参考价值。
1.NSIS 或 Inno Setup打包软件如何得到当前文件名?
2.复制一份包中已经解压的exe并以获取到的文件名命名;
补充:并不是打包时定义的名称,而是随便修改后的名称,例如生成的是setup.exe,我改成setup_kusila.exe 获取kusila并以解压出来的test.exe复制生成test_kusila.exe
1、默认选中我同意许可协议按钮?
用inno setup打包的软件在安装过程中,如果询问了用户是否接受“许可协议”,默认情况下的选择是“我不接受协议”。
怎样编写脚本,才能实现默认情况下的选择是“我接受协议”?
试过下面的代码,貌似现在没用了。
[code]
// 默认选中我同意按钮
procedure InitializeWizard();
begin
WizardForm.LICENSEACCEPTEDRADIO.Checked := true;
end;
2、设置隐藏、只读属性?
怎样编写脚本,实现安装包在释放某个文件的时候,将此文件隐藏起来?如何设置只读属性?
3、提示正在释放的是什么组件?
怎样编写脚本,是安装包在释放文件的时候,能够提示正在安装的是什么文件?同样卸载的时候呢?
4、不用插件替换默认的卸载图标?
怎样才能不使用插件(这种方法需要编写[Code]段),而用inno setup自身实现更改默认的卸载图标呢?
一种方法是,讲卸载图标也打包进安装包,然后在IsTool 中依次选择工程→安装选项→卸载,在“显示图标”上选择已经打包进去的卸载图标,然后在“图标索引”里面再选择合适的卸载图标;
或者可以用IsTool,点击在左边的“图标[Icons]”,找到卸载那一项,双击或者右键,在“图标”选项卡中依照上面的方法分别设置“图标文件”、“图标索引”。
但是这样卸载图标也将被释放到安装目录,而且不能删除。有没有办法绕过这些问题呢?
5、打包时相同文件打包一次,而释放的时候可以释放到不同的文件夹?
如果一个软件,在安装的时候,同一个文件要被释放到不同的文件夹中去。
例如迅雷5.9.7.1062的安装目录,在C:\Program Files\Thunder Network\Thunder\Skin2里面有,而在C:\Documents and Settings\All Users\Application Data\Thunder Network\thunder_6567C672-0056-44C8-9863-4E346081C6E8_\Skin2里面也有一模一样的文件。
在inno setup打包的时候,可以在Source中,用flags里面的一个参数external(外部文件),意思是告诉 Inno Setup 不要编译 Source 参数指定的文件到安装程序文件中,改为从分布的媒介或用户系统中复制。
这样做出来的安装包会比不用这个参数external的小很多。
那么这个参数到底是怎样用的?能不能给一个实例?
这是我在学习inno setup的时候遇到的问题,供大家学习交流。多谢大家的支持啦!我的QQ632689181。
梦想吧技术论坛
* 【全新技术发布】我本布衣装机常用软件光盘——v9.0(官方加网盘下载)
收藏 分享 评分
回复 引用
订阅 TOP
Dreamcast
* 发短消息
* 加为好友
Dreamcast 当前离线
UID
26472
帖子
32
精华
0
积分
19
D8币
2
阅读权限
10
在线时间
60 小时
注册时间
2009-3-23
最后登录
2009-12-1
查看个人网站查看详细资料
D8新人
2#
发表于 2009-9-30 04:24 PM | 只看该作者
本帖最后由 Dreamcast 于 2009-9-30 04:25 PM 编辑
1、我一直在用,5.3.4版上测试有效
2、请看帮助,Files 段的 Attribs
3、安装时不是会一个个显示吗!?
4、何必执著于一个图标呢......要么放图标,要么用插件:http://www.dreams8.com/thread-9365-1-1.html
5、最简单的就是复制一份文件,改为如:A,1.dll,A,2.dll,Files 段写2行,然后用 DestName 重命名为 A.dll 释放到不同的目录,相同 MD5 的多个文件打包后应该只占用一份的体积,至少 WinRAR 是这样,呵呵。 参考技术A 下面是 Inno的方法,^_^
ExtractFileName(ParamStr(0))
这样,就是你要的安装程序文件名了,inno的,呵呵
Rename
function RenameFile(const OldName, NewName: string): Boolean;本回答被提问者采纳
Inno Setup 打包及签名指南
Inno Setup 是一个免费的 Windows 安装程序制作软件,十分简单实用的打包小工具,可以按照我们自己的意愿设置功能。本文将介绍如何使用 Inno Setup 打包,并使用 wosigncodecmd 设置签名。
一、下载安装 Inno Setup
官网网址:https://jrsoftware.org/isdl.php
按自己需求安装
二、打包
1、创建新项目
2、填写应用名称和应用版本等信息
3、设置应用文件夹权限,默认即可
4、选择主文件及其所在目录
5、设置应用文件类型和扩展信息,默认即可
6、设置桌面和开始菜单的快捷方式
7、设置应用基本信息
8、设置安装包安装方式
9、设置安装语言
10、设置安装包输出路径
11、设置编译指令
12、选择是否编译,这一步点否
13、设置签名工具,名称设置为 wosigncodecmd,签名命令根据实际情况设置(示例中的签名命令使用 wosigncodecmd,命令行为: F:\\Users\\xiaosp\\Desktop\\签名工具\\WoSignCode\\wosigncodecmd.exesign /default /file $f)注意将wosigncodecmd.exe路径改为实际路径。
14、添加签名命令 Signtool=wosigncodecmd
15、编译
16、指定名称保存iss,等待编译签名过程完成即可!
欢迎访问沃通官网申请代码签名证书[1],如有其他疑问,可咨询沃通技术支持获取指导。
参考
以上是关于NSIS 或 Inno Setup打包软件如何得到当前文件名的主要内容,如果未能解决你的问题,请参考以下文章
Inno Setup 5 安装包制作!reg2iss,Inno Setup 问题。Inno Setup 怎么批量导入reg文件,(像nsis