Installshield 2008 And 脚本 (八 )

创建快捷方式

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

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

双击左边栏的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前面加@。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值