您的位置:首页 > 其它

Installshield 2008 And 脚本 (八 )

2008-06-12 16:07 302 查看

创建快捷方式

可以对拷贝到安装路径的任何文件制作开始菜单、桌面、启动里面的快捷方式。

制作方法:采用可视化制作方式。

双击左边栏的ShortCuts选项。我们可看到右边的窗口。

选中StartMenu,单击右键,插入Folder,改名字为Azurewave(公司名字)。

然后在Folder下面插入NewShortCut,改名字为E-Cam



我分别在Destop和StartMenu里面创建了应用程序可执行文件E-Cam.exe的快捷方式。

另外可以设置快捷方式的Properties。



第一个String代表了这个快捷方式出现的时候的DisplayName,注意对应不同的语言的同一个ID,这个值要翻译成相应的文字。反正要在StringTabs里面每种语言的这个ID的值都要去修改成想要的,否则就会出现有的显示的是Newshortcut1或者其他默认名字。

第二个,是表示这个快捷方式关联哪个这个文件。双击那一栏,也会跳出一个对话框来,让你Browe选择,当然是要存在于目标计算机的文件,才可以关联。所以我们先拷贝文件,后创建快捷方式。

这样一来安装之后就会在StartMenu/Programs/AzurewaveFolder下面存在E-Cam这个快捷方式了。桌面上也会有。



创建卸载Uninstall快捷方式

现在我们系统安装完成后创建的快捷AzurewaveFolder中有Uninstall快捷放肆,如下图所示。



我还不知道怎么用可视化的方式生成这个Uninstall快捷方式。

那么就使用Script语言来生成。

卸载快捷方式其实关联的.exe文件就是我们的安装文件。因为我们第一次点击ECam_Setup.exe的时候,出现的时候安装序列的对话框。但是如果已经安装的话,在运行setup.exe的话出现的就是卸载的对话框了。

在关联这个UninstallShortcut到Setup.exe之前,我们把维护需要的资源,全部拷贝到DISK1TARGET/Uninstall文件目录下。

DISK1TARGET是个系统变量,就是为了维护用户已经安装的应用程序的。参见InstallShield2008HelpDocuments.

复制文件和创建快捷方式的模块:

#defineCOMPANY_NAME"Azurewave"

#definePRODUCT_NAME"E-Cam"

//yourscriptfunctionprototypes

prototypeISShortcut();

prototypeISCopyFiles();

functionISCopyFiles()

STRINGszSrcPath,szTargetPath,szPath,szChmPath,szTemp;

begin

Disable(LOGGING);

szTargetPath=DISK1TARGET^"Uninstall//";

DeleteDir(szTargetPath,ALLCONTENTS);

szSrcPath=TARGETDIR^"22.ico";

szTargetPath=DISK1TARGET^"Uninstall//";

XCopyFile(szSrcPath,szTargetPath,EXCLUDE_SUBDIR);

szSrcPath=SRCDIR^"*.*";

szTargetPath=DISK1TARGET^"Uninstall//";

XCopyFile(szSrcPath,szTargetPath,EXCLUDE_SUBDIR);

end;

//---------------------------------------------------------------------------

//ISShortcut

//

//whenacalltoXCopyFilefailstoregisterfiles

//successfully.

//---------------------------------------------------------------------------

functionISShortcut()

stringszProgram,szProgramFolder,szParam,szCommandLine,szPath;

STRINGszDLLParam,szLog,szCommand;

begin

//*******************************UNINSTALL_STRING********************************************//

//szPathisunistallstringappearsbelowtheicon

szProgramFolder=FOLDER_PROGRAMS^COMPANY_NAME;

szProgram=DISK1TARGET^"Uninstall//setup.exe";

LongPathToQuote(szProgram,TRUE);

szCommandLine=szProgram;

Sprintf(szPath,@UNINSTALL_TITLE,PRODUCT_NAME);

AddFolderIcon(szProgramFolder,

szPath,

szCommandLine,DISK1TARGET^"Uninstall//",

DISK1TARGET^"Uninstall//22.ico",0,"",REPLACE);

end;


然后我在OnFirstUiAfter语句中调用这两个功能函数即可。
注意:
1.定义的Global变量COMPANY_NAME的值要和你手动在StartMenu目录下面创建那个Folder名称一样。
2.UNINSTALL_TITLE直接在StringTabs里面添加,并赋值为:Uninstall%s。后面那个%s正好格式化我输入的PRODUCT_NAME
3.StirngTabs里面字符串在Script里面的使用方式就是要在ID前面加@。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: