假设要制作一个安装包, 该安装包分为程序部分和数据库部分,需要让用户指定这两个部分的安装路径,制作实例如下:
版本:InstallShield12 Premier Edition
InstallShield项目类型:InstallScript Project
操作步骤:
1、建立应用程序的目录:在“Application Target Folder”下建立目录,此处建立的目录将安装在TARGETDIR下,而TARGETDIR是通过“Dlg_SdAskDestPath2”窗体或“Dlg_SdAskDestPath”由用户指定的,下文会讲到。
2、建立数据库的目录:在“Script-defined Folders”下建立一个变量,如“<DataBase>”,注意,这个变量要用“<>”括起来,并在这个变量下面建立一个目录,并添加数据库安装所需要的文件。
3、添加目录后,可以在Organization中的Components中看到如下结构:>
其中“Files6”为“Script-defined Folders”生成的组件:;
注意它的“Destination”值为“<DataBase>”
4、在Setup.Rul中写如下代码:
Dlg_SdAskDestPath2:
szTitle = "";
szMsg = “将程序安装到以下路径”;
nResult = SdAskDestPath2( szTitle, szMsg, szDir );
TARGETDIR = szDir; //将用户指定的目录存入TARGETDIR中
if (nResult = BACK) goto Dlg_SdRegisterUser;
//以下是添加的代码,用来显示第二个窗体让用户指定数据库的安装目录
Dlg_SdAskDestPath2_DB:
szTitle = "";
szMsg = “将数据库安装到以下路径”;
nResult = SdAskDestPath2( szTitle, szMsg, szDir );
szPropertyVar= "<DataBase>"; //将用户指定的目录存入"<DataBase>"中
ComponentSetTarget(MEDIA,szPropertyVar,szDir);
if (nResult = BACK) goto Dlg_SdAskDestPath2;
通过这些设置,就能将程序是数据库分别安装到用户指定的两个不同位置上去了。