在安装的最后一个页面FinishPage中点击Finished然后打开一个网页

这个功能貌似很简单,不就是在点击finish按钮给它绑定事件,问题立马解决。

在普通的桌面应用程序开发中的确是这样做的,可是这里是InnoSetup

这个事件不是你能控制的,

所以我们应该换一种思维,点击finish后,相当于程序全部安装完毕了,而在InnoSetup的脚本中,我们可以获取到这个状态

先上代码:

第一种方法:CurStepChanged:按安装的步骤的改变

 //这个方法innosetup会自动调用的,当安装步骤有所改变时,它就会被触发
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
isVerySilent: boolean;
j:Cardinal; begin
//ssDone,就是点击Finish后的状态,后面会有详细解释
if(CurStep=ssDone) then
begin
for j := to ParamCount do
begin
//这里是判断程序是否为静默安装,是则不打开网页
if(CompareText(ParamStr(j),'/verysilent')=) then
isVerySilent := true
end; if(not isVerySilent) then
begin
ShellExec('open','http://www.baidu.com','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
end;

解释一下InnoSetup的状态页面,和向导页面:

http://www.cnblogs.com/tommy-huang/p/4121229.html

第二种方法:CurPageChanged:按向导页面改变

//这个方法innosetup会自动调用的,当安装步骤有所改变时,它就会被触发
procedure CurPageChanged(CurPageID:Integer);
var
ErrorCode: Integer;
isVerySilent: boolean;
j:Cardinal; begin
//wpFinished,就是点击Finish后的状态,后面会有详细解释
if(CurPageID=wpFinished) then
begin
for j := 1 to ParamCount do
begin
//这里是判断程序是否为静默安装,是则不打开网页
if(CompareText(ParamStr(j),'/verysilent')=0) then
isVerySilent := true
end; if(not isVerySilent) then
begin
ShellExec('open','http://www.baidu.com','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
end;

  

Inno Setup设置在安装Finished页面,点击finish后打开网页的更多相关文章

  1. 使用Inno Setup Compiler制作安装软件包

    前言 项目开发完成之后,需要程序打包发行,本文使用Inno Setup工具制作安装软件包. 系统环境 系统:win7_x64 工具:Inno Setup Complier 实现步骤 1.下载安装Inn ...

  2. Inno setup中定制安装路径

    我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function ...

  3. Inno Setup命令行安装卸载参数

    安装命令行参数安装程序接受可选的命令行参数.这些对于系统管理员以及其它程序调用安装程序时有用./SP- 在安装开始时禁用“这将安装... 你想继续吗?”的提示,当然,如果 [Setup] 段的指令 D ...

  4. Inno Setup添加中文安装语言文件

    如果你不添加中文安装语言文件,你编译生成的安装包的语言是不会有中文. 一,打开软件安装目录下的Languages文件夹下,有如下好多文件,可是就是没有Chianese.isl. 好了,你只需要随便拷贝 ...

  5. 如何使用Inno Setup Compiler制作安装软件包

    工具/原料   Inno Setup Compiler汉化版软件 方法/步骤     启动Inno Setup Compiler汉化版软件.   选择创建新的空白脚本文件,按确定.   然后按下一步. ...

  6. [Tool]Inno Setup创建软件安装程序。

    这篇博客将介绍如何使用Inno Setup创建一个软件安装程序. Inno Setup官网:http://www.jrsoftware.org/isinfo.php. 可以下载到最新的Inno Set ...

  7. Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程

    需求 最近用 Inno Setup 做一个exe,可是在安装之前要停止正在运行的相应进程或者在卸载之前要停止正在运行的相应进程,可是发现它自身的方法不能满足要求,最后经过度娘的耐心帮助下终于在网上找到 ...

  8. Inno Setup 系列之安装、卸载时调用bat

    需求 想在安装的时候调用install.bat,在卸载的时候调用uninstall.bat 解决 可以这样写 Inno Setup 的脚本: [Setup] ; NOTE: The value of ...

  9. Inno Setup 检测已安装的.NET Framework 版本

    翻译自:http://kynosarges.org/DotNetVersion.html 由 Jordan Russell 写的 Inno Setup 是一个伟大的安装脚本程序,但缺乏一个内置的函数来 ...

随机推荐

  1. Android-fragment简介-fragment的简单使用

    1.fragment简介 在Android3.0版本之前Google还没有推出fragment,在Android3.0版本之后Google推出了fragment,由于Android3.0版本是过渡期版 ...

  2. Android SQLiteOpenHelper Sqlite数据库的创建与打开

    Android Sqlite数据库是一个怎样的数据库? 答:是一种嵌入式小型设备,移动设备,的数据库,应用在穿戴设备(例如:智能手表,计算手环 等等),移动设备(例如:Android系统类型的手机 等 ...

  3. Android app日志保存功能

    每一个App应用应该都需要有日志保存的功能,日志保存可以记录App运行中所遇到的问题,查Bug也比较方便 等等: Android日志保存功能,保存某几天的最新日志文件到某个目录,直接看是如何代码实现的 ...

  4. Python学习(一)——数据类型

    在大学学过一点python,只学了语法,关于实际应用却没怎么用过.现在用一些python的脚本来模拟webservices,挺好用的.这个语言,还是要好好学习学习了. 目前看着教材来的,这本教材,好像 ...

  5. PYQT5实现文件目录浏览

    def setBrowerPath(self): download_path = QtWidgets.QFileDialog.getExistingDirectory(self, "浏览&q ...

  6. NetCore入门篇:(七)Net Core项目使用Controller之二

    一.简介 1.说明Post,Get定义的区别. 2.说明如何路由定义. 二.Get.Post定义 1.api不定义访问方式时,同时支持get 和 post.如果定义某种方式,则仅支持某种方式.具体看代 ...

  7. Day 28面向对象的进阶-内置函数(__new__,__del__)

     元类 创造 类  所有类的type 都是他的元类 类创造 对象   具体创造对象的方法 __new__方法 class 类名(classmata = type)#默认是 class 类名(class ...

  8. BZOJ 1008--[HNOI2008]越狱(容斥&快速幂)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 12593  Solved: 5439[Submit][Status ...

  9. flask源码解析之上下文为什么用栈

    楔子 我在之前的文章<flask源码解析之上下文>中对flask上下文流程进行了详细的说明,但是在学习的过程中我一直在思考flask上下文中为什么要使用栈完成对请求上下文和应用上下文的入栈 ...

  10. KeyChainWrapper - keychain简单使用

    1 keyChainWrapper是MRC代码,要禁用ARC -fno-objc-arc 2 要导入Security.framework框架 3 获得一个不变的UUID - (BOOL)applica ...