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前面加@。
相关文章推荐
- InstallShield 2008 And 脚本(十)
- Installshield 2008 And 脚本 (四)
- Installshield 2008 And 脚本 (九 )
- Installshield 2008 And 脚本 (五)
- Installshield 2008 And 脚本 (一)
- Installshield 2008 And 脚本 (三)
- Installshield 2008 And 脚本 (六)
- Installshield 2008 And 脚本 (七 )
- InstallShield 2008 安装中常用到的脚本记录一下
- Sql Server 2008 R2 数据库脚本导出方法
- 【脚本】Stack-based Virtual Machine and Interpreter
- server 2008 添加任务计划bat脚本不生效
- CodeRush, DXCore and Refactor! v3.0.8 released on 07 May 2008 and What'a New
- Visual Studio 2008 and .NET Framework 3.5 "SP1" Beta
- SQL Server 2008 R2 生成导出数据表的脚本
- floyd-BZOJ-1624-[Usaco2008 Open] Clear And Present Danger 寻宝之路
- eXpressApp Framework 8.1.4 released on 30 May 2008 and What'a New
- eXpressApp Framework 8.1.4 released on 30 May 2008 and What'a New
- SQL注入分析(手动注入检测) and 手动注入脚本命令精华版
- InstallShield脚本语言的编写