nsis打包的exe如何执行所在目录的文件

nsis打包的exe如何执行所在目录的文件,第1张

前提下载一个NSIS安装包制作软件对吧

首先用向导生成一个默认的安装脚本

然后在文件区段中用 SETOUTPATH "这些文件你打算释放到什么目录"

然后 FILE "你所有想打包的文件,有几个文件就写几个FILE命令"

遇到文件夹的时候同样先SETOUTPATH"目录"

FILE "文件列表"

使用这个命令:RequestExecutionLevel

可取的值有:none|user|highest|admin

以下是详细说明:

指定在 Windows Vista 下安装程序需要的执行级别。设定的级别值将被内嵌到安装/卸载程序的 XML Manfest 中,告诉 Vista(或以后其他合适版本的 Windows)安装程序需要什么样的权限级别来执行。user 只要求普通用户权限级别(不需要管理员组权限)。highest 要求当前用户可用的最高权限级别,Windows 可能会提示输入用户密码来核实权限提升。admin 要求管理员权限级别,同时 Windows 也会提示用户。设定为 none (缺省值),将会保持 manifest 为空并由Windows来判断执行级别。Windows Vista 能自动识别 NSIS 安装程序并要求管理员权限来执行。因此,none 和 admin 实际上具有相同效果。

建议使用 RequestExecutionLevel,至少微软要求所有应用程序都应标明执行级别。未标明级别的安装程序将运行于兼容模式,(兼容模式下执行环境所在的)当前用户“开始菜单”文件夹中该程序的快捷方式会被自动转移到所有用户“开始菜单”文件夹中。 如果你的安装程序不需要向系统目录安装文件或向注册表 HKLM 主键下写入键值,那么应该指定为 user 执行级别。

使用这个命令的前提是 NSIS 版本要新,然后你再试试看行不行。

我以前用UniversalExtractor提取NSIS的安装包,解包的脚本根本就不是原本的脚本。我不知道如何使用eXeScope提取,但我看了你所提供脚本,情况和我遇见的一样,那根本就不是原始的脚本。这些解包软件顶多只能再现部分脚本,而且里边内容和一个完整NSIS安装程序脚本所应具备的代码比较,还缺失很多,甚至还有添加进去很多原来没有的脚本,仅仅可以作为重新打包的参考而已,这些解压出来的脚本根本无法编译成功。可以说,现在能够完整再现NSIS封装的程序脚本解包软件还没有发现,要是真有的话,你就不会再者提问了,网上一定搜得到。由于我也解包过NSIS封装的压缩包,根据本人所了解的信息,这就是你无法打包成功的原因。

如果你想重新封包,我估计可以做到的。不过最近放假在家,出来的上网时间不多,所以暂时没时间帮你的忙。而且重新封包还需要监视软件最对注册表的改动以及安装了什么文件,这样的话重新的封包将变得非常容易。

我用inno setup打包软件遇到的问题

1、默认选中我同意许可协议按钮?

用inno setup打包的软件在安装过程中,如果询问了用户是否接受“许可协议”,默认情况下的选择是“我不接受协议”。

怎样编写脚本,才能实现默认情况下的选择是“我接受协议”?

试过下面的代码,貌似现在没用了。

[code]

// 默认选中我同意按钮

procedure InitializeWizard();

begin

WizardFormLICENSEACCEPTEDRADIOChecked := true;

end;

2、设置隐藏、只读属性?

怎样编写脚本,实现安装包在释放某个文件的时候,将此文件隐藏起来?如何设置只读属性?

3、提示正在释放的是什么组件?

怎样编写脚本,是安装包在释放文件的时候,能够提示正在安装的是什么文件?同样卸载的时候呢?

4、不用插件替换默认的卸载图标

怎样才能不使用插件(这种方法需要编写[Code]段),而用inno setup自身实现更改默认的卸载图标呢?

一种方法是,讲卸载图标也打包进安装包,然后在IsTool 中依次选择工程→安装选项→卸载,在“显示图标”上选择已经打包进去的卸载图标,然后在“图标索引”里面再选择合适的卸载图标;

或者可以用IsTool,点击在左边的“图标[Icons]”,找到卸载那一项,双击或者右键,在“图标”选项卡中依照上面的方法分别设置“图标文件”、“图标索引”。

但是这样卸载图标也将被释放到安装目录,而且不能删除。有没有办法绕过这些问题呢?

5、打包时相同文件打包一次,而释放的时候可以释放到不同的文件夹?

如果一个软件,在安装的时候,同一个文件要被释放到不同的文件夹中去。

例如迅雷5971062的安装目录,在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。

梦想吧技术论坛

全新技术发布我本布衣装机常用软件光盘——v90(官方加网盘下载)

收藏 分享 评分

回复 引用

订阅 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、我一直在用,534版上测试有效

2、请看帮助,Files 段的 Attribs

3、安装时不是会一个个显示吗!?

4、何必执著于一个图标呢要么放图标,要么用插件:>

以上就是关于nsis打包的exe如何执行所在目录的文件全部的内容,包括:nsis打包的exe如何执行所在目录的文件、nsis 打包的exe文件在vista中提示用户帐户控制、我用EXESCOPE解包后生成的NSIS再打包就出错,望高手帮忙呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9305155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存