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技术,包括ODBC、Access、ADO、D
AO、RDO、OLE DB、DirectX以及其它技术,只要按照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
,将属性中的“Self-Registered” 设置为“Yes”,一般默认为“No”,这样就不需要编写代码来进行注
册了。
发布评论