关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
原文:关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品
上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗
转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样;如需刊登,请与作者联系。little_fairycat@126.com.
Q: 如何替换setup.exe的图标?
A: 这不是一个推荐的操作,因为可能会引起不可预见的错误,而且IS没有开放这个接口。如果你坚持要这么做,可以使用第三方软件比如ExeScope来进行图标替换。
Q: 如何去掉安装界面左上方的Installshield Wizard字样?
A: Installation Designer -> Installation Information -> General Information -> String Tables ->你使用的语言,右键-> Export String Tables导出为文本文件,然后把里面相应的“Installshield Wizard”字段替换成空白字符串即可。建议做好备份后再修改。
Q: 如何自定义每个安装界面的标题或者说明文字?
A: Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul,没有这个文件的话在file底下new一个,默认就是这个名字的,我是在Installscript msi类型下测试的,其他的可能略有不同。
在Setup.rul打开OnFirstUIBefore函数,这个函数里面显示出安装过程中的所有界面,在需要修改的界面中把标题或者说明性文字赋值为自己想要的值即可。
举例:
Dlg_SdWelcome:
szTitle = "";
szMsg = "";
nResult = SdWelcome(szTitle, szMsg);
if (nResult = BACK) goto Dlg_SdWelcome;
szTitle = "";
svName = "";
svCompany = "";
szTitle就是安装时候欢迎界面所显示的标题,比如我改成szTitle=”欢迎使用XX软件”这样的形式即可。
Q: 如何在卸载时不要弹出”Modify, Repair, Remove”界面,而是点击卸载后直接卸载掉?
A: 在Installation Designer->Behavior and Logic->InstallScrip中Setup.rul里打开OnMaintUIBefore这个函数,找到Dlg_Start:,把这个框体包含的代码全部注释掉,也就是从Dlg_Start:到Dlg_SdFeatureTree:上面一行的内容全部去掉,并且添加一句nType = REMOVEALL;在Dlg_SdFeatureTree:前面,这样就可以实现不出现那个“modify,repair, remove"的界面,而是直接进行删除动作了。
Q: 我怎样在目标机上安装.NET,如果目标机上没有安装的话?
A: 在Release Wizard的倒数第三步将”Include or setup .NET framework”的选项勾上。
Q: 我如何调用第三方软件?
A: 在Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul里使用LaunchAppAndWait或者LaunchApp函数,至于写在哪儿要看具体应用,比如可以写在OnBegin, OnFirstUIBefore之类的函数体里。例子请参阅我的另外一个文档《一个完整的Installshield安装程序—艾泽拉斯之海洋女神出品》,csdn有下载。或者你也可以加入installshield中文论坛官方QQ群来获取这份放在群共享里的文件。
在笔者写这篇文档的时候,有网友告诉我Installshield2009已经无需如此繁琐地写脚本了,而是有界面允许用户自己指定一个注册表键值,并指定需要安装的软件所在的路径,当键值不存在的时候IS自动调用指定的软件了,有兴趣的朋友可以去研究下。
Q: 我如何调用bat文件?
A: 在Installation Designer -> Behavior and Logic -> InstallScript ->Setup.rul里使用LaunchAppAndWait或者LaunchApp函数。
Q: 我如何为自己的程序创建一个在开始菜单里的卸载快捷方式?
A: 某些工程类型比如Installscript MSI自带有这个选项,但是在08版本前都不推荐使用,因为容易导致系统崩溃;写脚本是一个不错的解决方法。代码如下,但是具体的详细解释请参考我的另外一个文档《一个完整的Installshield安装程序—艾泽拉斯之海洋女神出品》,csdn有下载。或者你也可以加入installshield中文论坛官方QQ群来获取这份放在群共享里的文件。
szfilename = UNINSTALL_STRING +" /UNINSTALL";
nresult = StrFind(szfilename,".exe");
if nresult >=0 then
StrSub(szmsg1,szfilename,0,nresult + 4);
StrSub(szmsg2,szfilename,nresult + 4,200);
LongPathToQuote(szmsg1, FALSE );
LongPathToQuote(szmsg2, FALSE );
szfilename = "\"" + szmsg1 + "\"" +szmsg2;
endif;
AddFolderIcon(FOLDER_PROGRAMS^"TEST","Uninstall",szfilename,WINDIR,"",0,"",REPLACE);
Q: 我如何修改“添加或删除程序”里我的软件的卸载图标?
A: Project Assisant -> Application Information,Select the icon to display your application in Add or Remove Program这项,点击Browse选择你想要的图标即可。
下一篇:根据IP查主机名和MAC地址
关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品的更多相关文章
- 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二
原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一4. 根据用户选择的组 ...
- 【Keras学习】常见问题与解答
Keras FAQ:常见问题 如何引用Keras? 如果Keras对你的研究有帮助的话,请在你的文章中引用Keras.这里是一个使用BibTex的例子 @misc{chollet2015keras, ...
- Handler的源码和常见问题的解答不崩溃
Handler是Android中的消息处理机制,是一种线程间通信的解决方案,同时你也可以理解为它天然的为我们在主线程创建一个队列,队列中的消息顺序就是我们设置的延迟的时间,如果你想在Android中实 ...
- 海洋女神建新installshield交流群了,原来的老群都满了,请加新群哦,记得认真填写验证信息
群号511751143 海洋女神installshield群
- OpenShare常见问题及解答
OpenShare常见问题及回答: Q:OpenShare可以整合SAP么? A:当然可以,OpenShare是真正完全开放的产品,但要进行二次开发,事实上我们帮我们大部分的客户都整合了SAP,包括数 ...
- PHP浮点数的一个常见问题的解答
作者: Laruence 本文地址: http://www.laruence.com/2013/03/26/2884.html 转载请注明出处 关于PHP的浮点数, 我之前写过一篇文章: 关于PHP浮 ...
- Keras官方中文文档:常见问题与解答
所属分类:Keras Keras FAQ:常见问题 如何引用Keras? 如何使Keras调用GPU? 如何在多张GPU卡上使用Keras "batch", "epoch ...
- PHP浮点数的一个常见问题的解答 (转载 http://www.laruence.com/2013/03/26/2884.html)
不过, 我当时遗漏了一点, 也就是对于如下的这个常见问题的回答: <?php $f = 0.58; var_dump(intval($f * 100)); //为啥输出57 ?> 为啥输出 ...
- Essential Phone PH1原生系统常见问题以及解答
*首先声明原生系统使用Google才是最好的体验. **如果下述问题有更好的解决方法,欢迎各种方式私信我. Q:为什么我的wifi显示无法连接到网络?为什么wifi有x号?如何去掉? A:因为原生系统 ...
随机推荐
- Reorder List [leetcode] 这两种思路
第一个想法随着vector保存全部Node* 表拼接出来 void reorderList(ListNode *head) { vector<ListNode*> content; Lis ...
- 一步一步学习ASP.NET 5 (三)- 认识新的Web结构
编者语 : 今天微软的两大盛事,早上有久违的Microsoft HEC 2015 晚上有DotnetConf 2015.假若你做微软的技术怎么能够错过呢?说说我的连载吧,前两篇分别介绍了ASP.NET ...
- Atitit.web三编程模型 Web Page Web Forms 和 MVC
Atitit.web三编程模型 Web Page Web Forms 和 MVC 1. 编程模型是 Web Forms 和 MVC (Model, View, Controller). 2. W ...
- cocos2d-html5基金会
1 环境结构 版本号Cocos2d-html5-v2.2,tomcat7.0 构造tomcat.然后直接解压Cocos2d-html5-v2.2.zip.解压后根文件访问的文件夹index.html你 ...
- document.all使用
document.all 一个. document.all它是在页面中的所有元素的集合.例如: document.all(0)一个元素 二. document.all能够推断浏览器是否是IE ...
- 玩转Linux之- CentOS 7.0,启用iptables防火墙
原文 玩转Linux之- CentOS 7.0,启用iptables防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall:sy ...
- 数字使用相应的加密策略传递一个字符串后Java实现代码
公司采用公用电话传递数据,数据小于8整数位,为了确保安全, 在转移的过程中需要加密,加密规则如下面的: 第一个数据下降,附图然后各加5,和除以10的余数取代该数字, ...
- jvm对大对象分配内存的特殊处理(转)
前段日子在和leader交流技术的时候,偶然听到jvm在分配内存空间给大对象时,如果young区空间不足会直接在old区切一块过去.对于这个结论很好奇,也比较怀疑,所以就上网搜了下,发现还真有这么回事 ...
- java字节中的基本类型的职业的数目 (采访总是问)
因为移动装置存储器中的移动开发的局限性,数据的字节数需要考虑往往在占领中使用的类型. 下面介绍下一个Java,以加深记忆. 在Java中一共同拥有8种基本数据类型,当中有4种整型,2种浮点类型,1种用 ...
- JBPM——MyEclipse开发环境的搭建
第一次接触JBPM我不知道如何在工程中的应用.查了一些资料.大约在JBPM随着时代的发展有一定的了解.首先JBPM它是JBoss件平台的一个组成部分.是一个灵活的,易扩展的工作流管理系统,仅仅只是这个 ...