Inno Setup 5制作安装程序
1.想到的时候填写安装目录
C:\Program Files (x86)\云曜互联
最后效果:
C:\Program Files (x86)\云曜互联\后宫OL
2.打开网页:
[CODE]
procedure CurStepChanged(CurStep:TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep=ssDone then ShellExec('open','http://www.houg.cn ', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
3.安装向导图标:
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
4.桌面快捷方式:
[Tasks]
Name:"desktopicon"; Description: "{cm:CreateDesktopIcon}";GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce
Name:"quicklaunchicon"; Description:"{cm:CreateQuickLaunchIcon}"; GroupDescription:"{cm:AdditionalIcons}"; Flags: checkedonce
5.不允许卸载
[Setup]
Uninstallable=no 这个属性不会生成安装文件
6.不允许写注册表
[Setup]
CreateUninstallRegKey=no 这个属性适用于更新程序或者安装子程序
5. 程序卸载
;添加卸载文件
;[UninstallDelete]
;Type: files; Name:"{win}\MYPROG.INI"
或者写函数
删清安装目录及下文件:
[CODE]
//卸载过程
procedureCurUninstallStepChanged (CurUninstallStep: TUninstallStep );
var
position:Integer;
begin
if CurUninstallStep=usDone
then
//查询当前目录,防止错误的删除
position:= Pos('后宫OL',ExtractFilePath(ExpandConstant('{uninstallexe}')));
if(0 <> position) then
begin
DelTree(ExpandConstant('{app}'), FALSE,TRUE, TRUE);
end
//删清注册表
if RegKeyExists(HKEY_CURRENT_USER,'Software\GamePlatform') then
begin
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER,'Software\GamePlatform');
end
end;
自定义卸载文件名
[CODE]
//安装过程
procedure CurStepChanged(CurStep:TSetupStep);
var
uninspath, uninsname, NewUninsName,MyAppName: string;
begin
if CurStep=ssDone then
begin
//指定新的卸载文件名(不包含扩展名)
NewUninsName := '卸载后宫';
//应用程序名称,与 [SEUTP]段的AppName必须一致
MyAppName := '后宫OL';
//以下重命名卸载文件
uninspath:= ExtractFilePath(ExpandConstant('{uninstallexe}'));
uninsname:=Copy(ExtractFileName(ExpandConstant('{uninstallexe}')),1,8);
RenameFile(uninspath + uninsname + '.exe',uninspath + NewUninsName + '.exe');
RenameFile(uninspath + uninsname + '.dat',uninspath + NewUninsName + '.dat');
//更新卸载的快捷方式
if(FileExists('C:\ProgramData\Microsoft\Windows\StartMenu\Programs\后宫OL\卸载后宫OL.lnk')) then
begin
DeleteFile('C:\ProgramData\Microsoft\Windows\StartMenu\Programs\后宫OL\卸载后宫OL.lnk');
CreateShellLink(
ExpandConstant('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\后宫OL\卸载后宫OL.lnk'),
'快捷方式',
ExpandConstant('{app}\卸载后宫.exe'),
ExpandConstant(''),
ExpandConstant('{app}'),
'',
0,
SW_SHOWNORMAL);
end
end
end;
6.注册表操作
;不能选择安装路径,安装路径从注册表读取
DefaultDirName={reg:HKCU\Software\HougGame\Plaza,Path}
自选择安装目录之后要写入注册表:
[Registry]
Root: HKCU; Subkey:"Software\Microsoft\Windows NT\CurrentVersion\Drivers32"; ValueName:"msacm.eqa"; ValueType: String; ValueData: "audio.acm";Flags: createvalueifdoesntexist uninsdeletevalue deletevalue
Root: HKCU; Subkey:"Software\Microsoft\Windows NT\CurrentVersion\Drivers32"; ValueName:"vidc.MVE4"; ValueType: String; ValueData: "video.dll";Flags: createvalueifdoesntexist uninsdeletevalue deletevalue
Root: HKLM; Subkey:"Software\Microsoft\Windows NT\CurrentVersion\Drivers32"; ValueName:"msacm.eqa"; ValueType: String; ValueData: "audio.acm";Flags: createvalueifdoesntexist uninsdeletevalue deletevalue
Root: HKLM; Subkey:"Software\Microsoft\Windows NT\CurrentVersion\Drivers32"; ValueName:"vidc.MVE4"; ValueType: String; ValueData: "video.dll";Flags: createvalueifdoesntexist uninsdeletevalue deletevalue
Root: HKCU; Subkey:"Software\HougGame\Plaza"; ValueName: "Path"; ValueType:String; ValueData: "{app}"; Flags: createvalueifdoesntexist uninsdeletevaluedeletevalue
Root: HKCU; Subkey:"Software\HougGame"; Flags: uninsdeletekey
7.安装完成后,更新游戏列表
procedure CurStepChanged(CurStep:TSetupStep);
var
hWnd: HWND;
begin
if CurStep=ssDone then
begin
hWnd := FindWindowByClassName('GamePlaza');
if hWnd <> 0 then
begin
PostMessage(hWnd, 1124, 100, 0);
//MessageBox(0,'PostMessage(hWnd, 1124, 5, 0);', 'MessageBox', MB_OK);
end
end
end;
[Setup]
;不允许用户自定义文件夹
DisableDirPage=yes
[Icons]
;开始栏卸载
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
;控制面板不生成卸载项
CreateUninstallRegKey=no
;控制面板卸载图标
UninstallDisplayIcon={app}/HougGame.exe
Inno Setup 5制作安装程序相关推荐
- 用inno setup做的安装程序,安装过程中被360报如下风险
用inno setup做的安装程序,安装过程中被360报如下风险,请问大家有碰到过没有? 我看了下,好像就是最后生成卸载程序时报出来的,在将setup.tmp拷到unins000.exe时,360认为 ...
- VS2005 制作安装程序的一些网络教程
原文写于:2006-12-14 在VS2005中,制作安装程序需要建立setup project,后面的操作就比较简单了.我在网上看了一些文章,把它们列在下面: 文章 内容 备注 Customizin ...
- vb.net 制作安装程序步骤
自己开发的小程序,如何让别人使用啊, 需要制作安装程序,这里有一个简单的教程,可以参考一下. 手把手的介绍下如何使用[VB.Net自带的工具]进行安装程序的制作 本文以使用VB9(也就是VB.Net ...
- VS2008 SP1制作安装程序离线安装.Net Framework3.5
VS2008 SP1制作安装程序离线安装.Net Framework3.5 這兩天都在弄一個 Windows Setup 專案,希望弄得盡善盡美,直到剛剛終於大功告成,但當我想將 .Net Frame ...
- Visual Studio制作安装程序教程
1.新建安装部署项目 打开安装向导,点击下一步,或者直接点击完成.当文件比较大时,注意把工程放在空间充足的磁盘分区上. 2.具体制作过程 2.1 添加文件夹与程序文件 安装向导完成后即可进入项目文件夹 ...
- VS2010制作安装程序
序 前些天想写一下制作安装程序,由于要写的内容比较多,一拖再拖,不过坚持就是胜利,今天终于写完了. 1概述 做应用软件制作安装程序是很必要的一件事情,本文主要介绍使用VS2010自带的打包组建来开发一 ...
- VS2005 制作安装程序
今天在首页看到一篇 .Net项目制作安装程序 的文章,感觉博主讲解还是令人费解(对于我这样的新手,嘿嘿),所以自己动了一下手,让自己有所映像,顺便纪录下. 1.首先得有一需打包的项目,这里我就用以 ...
- 用 NSIS 制作安装程序
用 NSIS 制作安装程序 最近要给自己写的一个小程序做个安装程序.我的程序是用Qt开发的,所以本来想研究一下 Qt Installer Framework. 但是用 Qt Installer Fra ...
- Inno Setup打包实现安装自启和开机自启
本文章主要介绍下,如何使用Inno Setup制作一个可以安装自启和开机自启的安装包. 直接贴下打包脚本 #define MyAppName "自启动安装测试包"[setup]; ...
最新文章
- Linux环境编程--linux中的perror、exit、_exit、wait 和 waitpid
- 细数数据中台的3个业务价值和5个技术价值
- 动软代码生成器之模板功能介绍
- StrongShop跨境电商系统源码 | 支持多语言多货币
- 2012考研数学二第(18)题——多元函数积分学:二重积分求面积+画曲线:心形线
- win10中Edge浏览器升级后崩溃 STATUS_INVALID_IMAGE_HASH
- NLP自然语言处理-机器学习和自然语言处理介绍(五)
- Android最新最全100余款开源App(对应Github开源项目)
- speedoffice(Word)里面怎么才能输入平方
- 咸鱼APP产品使用报告体验分析
- 【转】do{...}while(0)的意义和用法
- 【5万字】文件增量复制【OS库、Tkinter库等】
- Java面向对象三大特性(封装继承多态)解释及案例
- 配置法 求解1D第二类线性的Fredholm积分方程 +MATLAB
- Pandas实现(pivot_table函数)数据透视表
- special effects - 鼠标点击,出现烟花炸裂效果
- u盘安装浪潮服务器_安装linux操作系统--浪潮服务器
- css lt;igt;,Tailwind CSS v2.0重磅更新~
- 如何快速、低成本构建一套稳定、高效、可靠的互联网主播直播/商业直播(推流/分发/播放)方案
- 果园施药机具农业科研进展
热门文章
- jQuery对象和DOM对象互转的问题、jQuery文件引入问题、DOM版本的网页开关灯
- 瞿菡云计算机,“国家资助 伴我成长”——我校学生王丽娜、肖云菡荣获中职教育“国家奖学金”事迹材料...
- dbeaver导出建表语句_细致入微:如何使用数据泵导出表的部分列数据
- 简述中断处理的6个步骤_实用!处理电机振动的11个常用步骤
- 以下结点node定义了一个学生的信息。函数find查找并返回学号小于num,且下一节点学号不小于num的结点指针
- 大数据构建模块:选择体系结构和开源框架
- 自然语言处理hanlp的入门基础
- linux编译安装mysql5.1.x
- php开启与关闭错误提示
- CodeForces - 182D Common Divisors(KMP的next数组)