2023年11月23日发(作者:)

InstallShield制作安装程序的步骤是怎么样的?

1 建立工程文件

打开InstallShield 相关应用程序,双击“Project Wizard”按照向导提示输入工程的相关信息。当然这里

输入的是给相关变量赋值,在编译之前可以对其进行修改,打开资源Resources,对其相关属性的变量进

行重新赋值即可;另外,还需对菜单项“Project”中的产品名称进行更改。

2 文件组配置

打开文件组File Groups工作区,展开树,给相应的文件组链接对应文件,对应文件会显示在相应的区

域。单击相应文件组,对其其属性进行设置,重要的有: [Shared]指定当前文件组中的文件是否为共享文

件,即该文件是否被多个应用程序共同使用,若设为共享文件InstallShield在应用程序安装过程中会自动

处理这些文件的注册;[Self Registered]设置当前文件组中的文件是否自注册,这个功能能够将相关文件在

安装过程中进行注册,卸载时也会自动将这些注册信息删除; [Compressed]指定当前文件组中的文件在

建立媒体库时是否被压缩,这里的设置在安装媒体向导的磁盘类型中不选择[Data as files]复选框是有效

的,否则不管如何设置应用程序即不存储在电缆文件中也不被压缩;[Overwrite]指定当前文件组中文件覆

盖终端用户计算机系统中已存在同名文件的条件;[Destination]指定当前文件组在安装过程中被传输的目

标位置。

3 组件设置

打开组件“Components”工作区,可以新建组件,组件的重要属性有:“Status Text”是标志在复制对话的

进度条上看到的文本;“Display Name”是给定当前组件显示给终端用户的文本;“File Need”是指定组件的

级别,Critical】对于安装程序不允许终端用户不选择该组件,Recommended】是建议终端用户应该选

择安装该组件,【Standard】如果终端用户没有选择该组件,不会显示任何信息;“Include in Build”是表

示是否将该组件包含到发行媒体中,暂时将本特征不包含到发行媒体给这个组件留下位置,以便以后升级。

“Required Components”是将此组件必需的其它组件链接在一起;“Included File Groups”可以为当前组件

增加和删除与之相关的文件组;其它属性默认即可。

4 底稿文件中添加代码

充分利用InstallShield资源可以省去不少代码编写,特别是InstallShield提供的一些内部函数,可以实

现丰富的功能,需要特别注意的是大小写是严格区分的。

5 编译工程

从【Build】菜单中选择【Compile】选项对脚本进行编译;编译通过后选择【File】菜单中的【Save

选项进行脚本修改的保存。

6 定制MEDIA(安装媒体)

从【Build】菜单中选择【Media Wizard】选项启动媒体制作向导,按照提示一步一步进行,最后出现

所设置的总信息,不妥后退进行修改,最后确认后按【完成】后定制媒体。

7 测试

文件安装媒体制作完成之后,就可以进行测试,从【Build】菜单中选择【Run Setup】运行,安装完成

后可以通过【开始】菜单的【程序】中的快捷方式运行安装的应用程序。最后运行卸载程序将应用程序从

系统中删除

三、安装程序初始化

在函数OnFirstUIBefore()中输入如下脚本代码进行初始化程序。

1 安装背景设置

SetFont(FONT_TITLE,STYLE_BOLD|STYLE_SHADOW, "Arial");//设置字体

SetTitle(@TITLE_CAPTIONBAR,0, BACKGROUNDCAPTION );//设置标题

SetTitle( @TITLE_MAIN, 24, WHITE ); //设置对话框主题字体和颜色

Enable( FULLWINDOWMODE ); //允许全屏显示

Enable( BACKGROUND ); //允许背景设置有效

SetColor(BACKGROUND,RGB (0, 128, 128)); //设置背景颜色

2 加载图片

在任何时候都可以加载图片以装饰安装程序,方法如下:

svPicName = SUPPORTDIR ^ ""; //定义图片路径

DialogSetInfo(DLG_INFO_ALTIMAGE,svPicName,TRUE);//在对话框中显示

svPicName = SUPPORTDIR ^ "";

PlaceBitmap(svPicName,13,0,0,FULLSCREENSIZE);//全屏显示图片作为背景

在加载下一幅图片的时候要先移去上一幅已加载的图片,方法如下:

PlaceBitmap ("",13,0,0,REMOVE);

3 系统变量的设置

nSetupType = TYPICAL; //预设默认安装类型

TARGETDIR = "D:"^@PRODUCT_NAME; //设置默认安装路径

svName = "Name"; //用户默认名

svCompany = "Company"; //公司默认名

svSerial = "123-EDC-532-386"; //序列号

四、定制程序组(项)

function SetupFolders()

NUMBER nResult,nIcon, nFlag;

STRING szProgramFolder,szItemName,szCommandLine,szWorkingDir,szIconPath;

STRING szShortCutKey, szProgram, szParam,svTmp;

begin

szProgramFolder = @PRODUCT_NAME;

if (CreateProgramFolder(szProgramFolder) < 0) then

return -1;

endif;

//设置快捷方式的工作环境

nIcon = 0;

szShortCutKey = "";

nFlag = REPLACE;

szWorkingDir = TARGETDIR;

szIconPath = TARGETDIR+""+@PRODUCT_KEY; //图标选择

szItemName = @PRODUCT_NAME;

szProgram = szIconPath;

LongPathToQuote(szProgram, TRUE);

szCommandLine = szProgram;

if(AddFolderIcon(szProgramFolder,szItemName,szCommandLine,szWorkingDir,

szIconPath,nIcon,szShortCutKey,nFlag)< 0) then

return -1; //在开始菜单的程序组中增加启动该应用程序的快捷方式

endif;

if(AddFolderIcon(FOLDER_DESKTOP, szItemName, szCommandLine,

szWorkingDir,szIconPath,nIcon,szShortCutKey, nFlag) < 0)then

return -1; //在桌面上增加启动该应用程序的快捷方式

endif;

//卸载的设置

szWorkingDir = WINDIR;

szIconPath = SUPPORTDIR+"";

szItemName = "卸载"+@PRODUCT_NAME;

svTmp=PROGRAMFILES+"InstallShieldInstallationInformation"+PRODUCT_GUID+"";

LongPathToQuote(svTmp, TRUE);

szParam = svTmp;

LongPathToShortPath(szParam);

svTmp=COMMONFILES+"";

LongPathToShortPath(svTmp);

szProgram = "RunDll32"+" "+ svTmp+",LaunchSetup";

szCommandLine = szProgram + " " + szParam;

if(AddFolderIcon(szProgramFolder,szItemName,szCommandLine,szWorkingDir,

szIconPath, nIcon,szShortCutKey,nFlag)< 0) then // 在开始菜单中设置卸载快捷方式

return -1;

endif;

end;

五、对象嵌入技术

使用InstallShield对象,我们可以很方便地安装关键的Windows技术,包括ODBCAccessADOD

AORDOOLE DBDirectX以及其它技术,只要按照InstallShield嵌入对象向导操作即可,这里以嵌入

ODBC为例子详细说明:

首先利用 Windows控制面板中的ODBC数据源建立数据配置文件,需要与所建的数据库文件联系起来,

这里是文件,数据源名设置为DOT,退出后可以看到刚才建立的数据源。在Components工作

区右击相应的组件,从弹出菜单中选择【Insert InstallShield Object,打开对象浏览树,选中“NEW ODB

C 3.51”,单击【Add Object】按钮将会把该对象加入到Resources工作区中的InstallShield Objects文件

夹中以及刚才的组件中,然后就会有向导启动(嵌入其它对象时,没有向导说明已经完成,关闭对象浏览

器即可),按照向导提示完成ODBC对象嵌入,在安装过程中会自行注册。大多数对象都是直接嵌入即可。

六、控件注册

方法一:用户手工注册,利用VC++自带的DOS命令(在bin目录下)或者直接用下

列方法:点击开始运行;输入以下命令进行注册:

regsvr32 < > 注册一个控件

regsvr32 /u< > 解除某控件的注册

方法二:利用InstallShield的自注册功能,在文件组里新建一个文件组,这里取名为“BatchAPC 环境变

,然后在这个新建文件组里链接需要注册的文件,这里是两个ActiveX控件MSCOM

,将属性中的“SelfRegistered” 设置为“Yes”,一般默认为“No”,这样就不需要编写代码来进行注

册了。