关于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地址

目录
相关文章
|
3月前
|
Unix Linux 网络安全
这份MobaXterm使用指南,低调收藏!
这份MobaXterm使用指南,低调收藏!
134 0
|
6月前
|
C#
手把手教你用C#写一个刷屏软件
手把手教你用C#写一个刷屏软件
|
6月前
|
数据可视化 Linux 开发工具
猿如意中的【blender】工具详情介绍
猿如意中的【blender】工具详情介绍
|
数据可视化 前端开发 BI
我用 AntV/S2 买了一套房
我用 AntV/S2 买了一套房
230 0
|
Web App开发 黑灰产治理 CDN
压箱底!8个珍藏多年的Chrome插件高速下载网站
Chrome插件以轻量化、使用方便倍受欢迎,我之前也曾经很多篇文章介绍过不少好用的Chrome插件。其中,不乏一些名气很大、功能很强的插件。
压箱底!8个珍藏多年的Chrome插件高速下载网站
|
机器学习/深度学习 人工智能 算法
PyHubWeekly | 第二十期:动漫迷不能错过的一款Python小工具!
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。 我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~ 本期为大家推荐GitHub上5个优质的Python项目,它们分别是: •AnimeGAN •faker •Background-Matting •PyBoy •Learning-to-See-in-the-Dark
PyHubWeekly | 第二十期:动漫迷不能错过的一款Python小工具!
ZCMU - 1605: 大一下之小试身手
ZCMU - 1605: 大一下之小试身手
69 0
|
索引 C语言 Linux
玩一玩字符串指针
gcc版本  8.2.0   Linux  centos 7   输出字符串数组中的每个值 发现——字符串末尾的\0是真实存在的 1 #include 2 using namespace std; 3...
966 0
|
大数据 数据挖掘 数据库
图文教程,8步教你变身数据科学家
数据科学家是干什么的呢?哪些地方需要数据科学家?怎么样才能成为数据科学家?如果你正因为这些问题而犹豫要不要开始学习数据科学,那么我可以告诉你,成为数据科学家其实非常简单。
2219 0
|
监控 架构师 Android开发
【朝花夕拾】Android性能篇之(八)来自官网的自白
Android性能优化无疑是Android中的一个重点,也是一个难点。之所以说是重点,是因为在面试中,面试官对性能相关的问题是乐此不疲;在工作中,越是大厂,代码产生的性能问题越是苛刻。之所以说是难点,是因为工作中性能优化的任务往往都是由经验比较丰富的工程师或者架构师来担任的,而且Android性能方面的问题比较广,经常让初学者晕头转向。
1267 0