创建快捷方式
可以对拷贝到安装路径的任何文件制作开始菜单、桌面、启动里面的快捷方式。
制作方法:采用可视化制作方式。
双击左边栏的ShortCuts选项。我们可看到右边的窗口。
选中Start Menu,单击右键,插入Folder,改名字为Azurewave(公司名字)。
然后在Folder下面插入New ShortCut,改名字为E-Cam
我分别在Destop和Start Menu里面创建了应用程序可执行文件E-Cam.exe的快捷方式。
另外可以设置快捷方式的Properties。
第一个String代表了这个快捷方式出现的时候的Display Name,注意对应不同的语言的同一个ID,这个值要翻译成相应的文字。反正要在String Tabs里面每种语言的这个ID的值都要去修改成想要的,否则就会出现有的显示的是Newshortcut1或者其他默认名字。
第二个,是表示这个快捷方式关联哪个这个文件。双击那一栏,也会跳出一个对话框来,让你Browe选择,当然是要存在于目标计算机的文件,才可以关联。所以我们先拷贝文件,后创建快捷方式。
这样一来安装之后就会在Start Menu/Programs/Azurewave Folder下面存在E-Cam 这个快捷方式了。桌面上也会有。
创建卸载Uninstall快捷方式
现在我们系统安装完成后创建的快捷Azurewave Folder中有Uninstall快捷放肆,如下图所示。
我还不知道怎么用可视化的方式生成这个Uninstall快捷方式。
那么就使用Script语言来生成。
卸载快捷方式其实关联的.exe文件就是我们的安装文件。因为我们第一次点击ECam_Setup.exe的时候,出现的时候安装序列的对话框。但是如果已经安装的话,在运行setup.exe的话出现的就是卸载的对话框了。
在关联这个Uninstall Shortcut到Setup.exe之前,我们把维护需要的资源,全部拷贝到DISK1TARGET/Uninstall文件目录下。
DISK1TARGET是个系统变量,就是为了维护用户已经安装的应用程序的。参见InstallShield 2008 Help Documents.
复制文件和创建快捷方式的模块:
#define COMPANY_NAME "Azurewave" #define PRODUCT_NAME "E-Cam" // your script function prototypes prototype ISShortcut(); prototype ISCopyFiles(); function ISCopyFiles() STRING szSrcPath, 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 // // when a call to XCopyFile fails to register files // successfully. //--------------------------------------------------------------------------- function ISShortcut() string szProgram, szProgramFolder, szParam, szCommandLine, szPath; STRING szDLLParam,szLog, szCommand; begin //*******************************UNINSTALL_STRING********************************************// // szPath is unistall string appears below the icon 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 直接在String Tabs里面添加,并赋值为:Uninstall %s。后面那个%s正好格式化我输入的PRODUCT_NAME
3.Stirng Tabs里面字符串在Script里面的使用方式就是 要在ID前面加@。