NSIS 或 Inno Setup打包软件如何得到当前文件名

1.NSIS或InnoSetup打包软件如何得到当前文件名?2.复制一份包中已经解压的exe并以获取到的文件名命名;补充:并不是打包时定义的名称,而是随便修改后的名称,例... 1.NSIS 或 Inno Setup打包软件如何得到当前文件名?
2.复制一份包中已经解压的exe并以获取到的文件名命名;
补充:并不是打包时定义的名称,而是随便修改后的名称,例如生成的是setup.exe,我改成setup_kusila.exe 获取kusila并以解压出来的test.exe复制生成test_kusila.exe
展开
 我来答
百度网友db0d6a2cc
2009-12-07 · TA获得超过1111个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:374万
展开全部
我用inno setup打包软件遇到的问题

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 是这样,呵呵。
百度网友e1183092e
2009-12-07 · TA获得超过177个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:205万
展开全部
下面是 Inno的方法,^_^

ExtractFileName(ParamStr(0))

这样,就是你要的安装程序文件名了,inno的,呵呵

Rename
function RenameFile(const OldName, NewName: string): Boolean;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式