关于Installshield里一些常见问题的解答—艾泽拉斯之海洋女神出品

简介: 原文:关于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地址

目录
相关文章
|
7月前
|
移动开发 前端开发 PHP
最新thinkphp5内核全开源女神赢口红H5公众号版第五版(100%可经营)
最新thinkphp5内核全开源女神赢口红H5公众号版第五版(100%可经营)
31 2
|
存储 程序员 编译器
(猿如意)最近在用的一款神器,简直无敌
(猿如意)最近在用的一款神器,简直无敌
358 0
(猿如意)最近在用的一款神器,简直无敌
|
存储 安全 Linux
魏红斌冬季实战营第二期:Linux操作系统实战入门(亲测版)
本文均为本人实操整理,请勿搬运,学习交流可以随时评论---魏红斌
129 1
|
存储 设计模式 Java
十一长假我肝了这本超硬核PDF,现决定开源!!
在 【冰河技术】 微信公众号中的【互联网工程】专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了,但就是不知道具体该看哪一篇了。相信很多小伙伴都会有这样的问题。那怎么办呢?最好的解决方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多了。希望这本电子书能够给大家带来实质性的帮助。
130 0
十一长假我肝了这本超硬核PDF,现决定开源!!
阿里云动手实验室 Hands-on labs 六步打卡,赢阿里云 X RNG联名T恤
8月13-23日期间,打卡完成以下6个任务,即可领取阿里云 X RNG联名T恤。(数量有限,先到先得,次日10:00补货)
|
Android开发 Java 安全
阿里巴巴Android开发手册 | 免费资料库
《阿里巴巴Android开发手册》是阿里巴巴集团各大Android开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等App长期开发迭代和优化经验系统地整理成册,以指导Android开发者更加高效、高质量地进行App开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。
5101 0
阿里巴巴Android开发手册 | 免费资料库
|
存储 安全 云计算
一册通关!《阿里云产品V5.0》完整版下载
本期《阿里云产品V5.0》手册具体内容涵盖了基于飞天平台上的计算、数据库、存储&CDN、网络、安全、大数据、中间件、应用服务等全部产品,集结阿里云公共云产品家族全体成员,文中附下载地址,供开发者朋友们参考。
24325 0
|
设计模式 机器学习/深度学习 算法
|
Web App开发 机器学习/深度学习 架构师
11位大咖带你玩转WebRTC开发(内附PPT资料下载)
迎着上海舒爽的小雨,LiveVideoStack携手英特尔、阿里巴巴、爱奇艺等11位大咖讲师共同带来了WebRTC开发及实践专题,与参会嘉宾一同分享了基于WebRTC技术的英特尔协同通信开发套件的功能、愿景、硬件产品选取,以及融合机器学习和VR/AR的技术发展前瞻,并对搭建实时通信平台的技术难点、解决之道以及实时通信客户端可定制优化做了详细解析,现场更有服务端配置、部署实操演练。
3368 0