Inno Setup使用上的几个问题
Inno Setup使用上的几个问题
【问题一:Inno Setup 执行REG文件代码?】
[Run]
Filename: "{win}\regedit.exe";Parameters:"/s {tmp}\reg.reg" // 静默参数/S
【问题二:安装时,如果已经有同名文件存在,就不更新该文件?】
[Files]
Source: "test.tmp"; DestDir: "{app}"; Flags: onlyifdoesntexist //onlyifdoesntexist表示只有当这个文件不存在的时候才安装这个文件。
【问题三:卸载时不卸载某一个文件?】
[Files]
Source: "CTL3DV2.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall //uninsneveruninstall 卸载时,不删除
【问题四:Inno Setup 注册OCX】
[Files]
Source: "xxx\xxx.ocx"; DestDir: "{app}"; Flags: onlyifdoesntexist regserver //注册regserver
【问题五:如何在Inno Setup中设置某选项默认被选择?】
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce //参数Flags包含checkedonce即可【问题六:Inno Setup 安装新版本之前卸载老版本?】
[code]
if
RegQueryStringValue(HKLM,
'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Program_is1',
'UninstallString', ResultStr) then
begin
ResultStr := RemoveQuotes(ResultStr);
Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode)
end把其中 My_Program 换成自己的 app name 即可!
Flags :该参数是一个额外的可选项,可用空格隔开多个选项。下面是该参数所支持的选项:
createvalueifdoesntexist :当指定该标记时,安装程序只会在同名键值不存在时创建该键值。该标记在数据类型为none或者指定了deletevalue标记时不会生效。
deletekey :当指定该标记时,安装程序将会先删除整个键(若存在的话),包括其中的所有键值和子键。如果ValueType 为none时,它才会创建新的键和键值。
deletevalue :当指定该标记时,安装程序会先删除这个键值(若存在的话)。如果ValueType 为none并且不曾存在时,它才会创建新的键值。
dontcreatekey :当指定该标记时,如果指定的键在用户的系统中未曾存在时,安装程序不会尝试去创建指定的键或键值。如果指定的键已经存在,将不显示错误信息。典型的例子就是该标记与uninsdeletekey标记合用,以此达到在卸载时删除键而在安装时不会创建它们。
noerror :无论任何原因而导致安装程序创建该键失败都不会显示错误信息。
preservestringtype :这只在ValueType参数是string或expandsz时使用。当指定了该标记后,如果键值不存在并且它是字符串类型时,它将被换成先前值的相同类型。
uninsclearvalue :卸载程序时,清空键值的数据(REG_SZ类型)。该标记不能与uninsdeletekey标记合用。
uninsdeletekey :卸载程序时,删除整个键,包括其中所有的键值和子键。显然,在Windows自身的键内时,这不是一个好主意。你只应在你软件的私有键中使用它。
uninsdeletekeyifempty :卸载程序时,如果该键没有键值或子键时将其删除。该标记可以与uninsdeletevalue.标记合用。
uninsdeletevalue :卸载程序时删除键值。该标记可以与uninsdeletekeyifempty标记合用。
Inno Setup使用上的几个问题的更多相关文章
- Inno Setup使用上的几个问题 (转)
Inno Setup使用上的几个问题: [问题一:Inno Setup 执行REG文件代码?][Run]Filename: "{win}\regedit.exe";Paramete ...
- 解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题
尼玛,好几个月没更新了.囧... 目前我司新的客户端开发已经接近尾声,该改的bug已经改完,该重构的地方也都差不多了.视觉效果也已经根据美工的样式改完了.所以,就差制作安装包了.正所谓万事俱备,只欠东 ...
- Inno Setup技巧[界面]欢迎页面上添加文字
原文:Inno Setup技巧[界面]欢迎页面上添加文字 本文介绍在"欢迎页面添加文字"的两种方法. 界面预览: Setup技巧[界面]欢迎页面上添加文字" title= ...
- inno setup读取注册表遇到的一个坑
一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录 ...
- Inno Setup 版本 5.5.3+ 简体中文语言包
; *** Inno Setup 版本 + 简体中文消息 *** [LangOptions] LanguageName=<7B80><4F53><> Languag ...
- Inno Setup制作安装包的几个问题
1. 卸载时,如何判断应用程序是否运行 InnoSetup 提供变量AppMutex,用来保存应用程序的Mutex名称.现在很多应用程序都是唯一实例运行.这样避免配置文件被错误修改以及其他很多衍 ...
- Inno setup定制安装界面
Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我 ...
- Inno Setup 下载安装
Inno Setup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件. 目前 ...
- Inno Setup制作应用程序安装包
我最近写了一个MFC应用程序,想发给其他的小伙伴玩一玩,直接发了个exe文件过去,结果发现小伙伴那边打不开.原来这个exe文件虽然是MFC静态编译的,但是还依赖了其他几个.dll文件,需要把这几个dl ...
随机推荐
- poj1258 Agri-Net (prim+heap)
题目链接:poj1258 Agri-Net 这题我上个月做过,是个大水题,今天看见有人用prim+heap做的,就学习了下. #include<cstdio> #include<cs ...
- 20145236 《Java程序设计》实验二实验报告
北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.08 实验名称: Java面向对象程序设计 实验内容: 初步掌握单元测试和T ...
- PHP生成word的三种方式
摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计 ...
- 知名黑客组织Anonymous(匿名者)的装备库
原文出处: infosecinstitute 译文出处:freebuf 欢迎分享原创到伯乐头条 本文关注的是世界著名的黑客组织Anonymous(匿名者).“我将描述他们的攻击方法和方式的计划 ...
- 转载 浅谈C/C++中的static和extern关键字
浅谈C/C++中的static和extern关键字 2011-04-21 16:57 海子 博客园 字号:T | T static是C++中常用的修饰符,它被用来控制变量的存贮方式和可见性.ext ...
- JDicom使用指南
适用条件本指南用于使用JDicom进行环境模拟.产品调试. 一.安装JDicom运行JDicom安装程序之前,需安装JRE 1.3及以上版本.否则,弹出如下图所示报错 安装JRE 1.4:双击运行可执 ...
- 一些git命令
git push --set-upstream origin release 强制将add的数据提交到 release分支.
- Google Chrome 源码下载地址 (Google Chrome Source Code Download)
1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrom ...
- Java如何将控制台上的结果保存到文件
无论是二进制数据还是字符数据(文本数据),都可以用文件输出流java.io.FileOutputStream,以字节流的方式保存到指定文件. package test; import java.io. ...
- 亿级Web系统搭建——单机到分布式集群[转]
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...