InstallShield FEQ

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选择你想要的图标即可。

Q:如何关闭管理员权限提示,即安装包不需要管理员权限?

A:更改两个属性:property Manager:AllUSERS=2, MSIINSTALLPERUSER=1

Q:判断BasicMsi获取当前是否静默安装?

A:MsiGetProperty("UILevel") != 2则为静默安装

时间: 2024-10-12 23:38:12

InstallShield FEQ的相关文章

InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET Framework进去) 本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23892 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,

installshield 注册dll

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 function OnFirstUIAfter()     STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2;     NUMBER bOpt1, bOpt2; begin     Disable(STATUSEX);     bOpt1   = FALSE;     bOpt2   = FALSE;        if ( BATCH_INSTA

安装installshield问题

install designer中 general information 选择setup languages shortcuts编辑  开始  中显示目录 文件路径 C:\Program Files (x86)\InstallShield\2010\SetupPrerequisites appliacation data 选择依赖项,如framework, <?xml version="1.0" encoding="UTF-8"?> <Setup

InstallShield学习笔记三:脚本(2)

5.设置安装模式 InstallScript MSI不足: 在InstallScript MSI中,在OnFirstUIBefore()执行完成后,即安装完成,这个时候需要做后续的操作,如写注册表等,这些操作要在OnFirstUIAfter()中执行. 如果此时点击取消,然后在此安装时,InstallShield会提示先卸载之前的安装,这个体验非常不好,而且InstallScript MSI还没有办法修改. 而在InstallScript 提供了一个逻辑条件,即OnShowUI(),这个可以自己

InstallShield打包问题

在Project Assistant中按照步骤创建打包项目: 1.Application Information 中填写公司名称.产品名称.版本号.网址的信息. Application Information 左侧窗口点击 General Information 中设置其他信息,主要配置如下: (1)General -> Setup Language:设置安装语言 (2)General -> INSTALLDIR:设置安装路径 (3)General -> Fast Install:根据需

installshield实例(三)发布,补丁,升级

原理: Installshield主要是控制Product Code,Upgrade Code,Package Code(这三个都是GUID,全球唯一的)和Product Version来达到发步,补丁,升级的. Product Code就是该产品的唯一ID,一般不需要改变. Upgrade Code在升级时才需要改变,打补丁不需要改变. Package Code在每次修改发布时都需要改变. 可以参见帮助中“upgrades [Windows Installer]”,其中有幅图详细说明了,补丁和

InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法

简述 InstallShield已经内建了对MySQL和Oracle的支持.但是这个功能是通过ODBC实现的,它对SQL脚本的格式要求非常严格,因此已经通过官方客户端测试的脚本在IS中执行时往往就会报错. 一般来说,数据库脚本只保证通过官方客户端测试即可,同时维护一份供IS执行的脚本费时费力.因此,考虑安装程序对两数据库的支持通过官方客户端实现. MySQL   function InstallMySQLComponent(szComponent) NUMBER nResult; STRING

[转]一个完整的Installshield安装程序实例

Installshield安装程序实例—基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但

installshield学习笔记

看预定义常量的值:SprintfBox(INFORMATION,"","%d",变量值); 自定义常量:#define MAXCOUNT 1000;#define COMPAN_NAME "Example_Company"; 所有用prototype声明过的函数都必须在函数块中定义, 在预处理语句后面不带":"例如:#define,#include等等: 关键字program,endprogram和end和begin 获取c盘