InstallShield Developer 8 使用手记之《创建卸载应用的快捷方式》

类别:VC语言 点击:0 评论:0 推荐:

      以前在论坛上看到有人问这个,如今自己也打算做一个,于是搜索了以前的帖,发现很多答案说的都是关于6.22的,或者不十分详细,自己用IS Developer 8 照着做了一下,好像有点差异,自己看help文档吧~

       文档说有两种方法:一种是通过IDE做,一种写脚本,本来以为用IDE省事,可操作未成功,可能是我不太会用那个功能。  那就copy个脚本来吧……
       果然很省事,很快做好了,运行,一看,嗯?怎么不能用?看了下快捷方式的属性,目录搞错,why?看了下代码,发现有个针对Win9X的条件判断,仔细看看中间的内容,正好是处理刚才那个错误的功能,晕~ 怎么Wind2K也要用这个代码啊?这可是Server耶~~~去掉操作系统版本判断,编译,运行,ok!
        
       可是……怎么在“程序”文件夹里,我想放在我自己的产品文件夹里,怎么办呢?自己写代码吧~原来就2-3句就可以搞定了,不过我倒是折腾了半天

代码如下:(不用奇怪,没错,就是文档里copy出来的,我自己加了几句而已)
 prototype CreateUninstallShortcut(); //这句我把它扔在#include "ifx.h"后面了

///下面的我放setup.rul最后面了
///////////////////////////////////////
function CreateUninstallShortcut()  
 string strCmdLine, strProductFolder;
 LIST lstPath;
 int  nPos;
begin  
 strCmdLine = UNINSTALL_STRING;   
 nPos = StrFind(@ID_STRING3, "|") + 1;
 StrSub(strProductFolder, @ID_STRING3, nPos, -1);
 
   lstPath = ListCreate( STRINGLIST ); 
 StrGetTokens( lstPath, UNINSTALL_STRING, "/" );   

 ListGetFirstString( lstPath, strCmdLine ); 
 LongPathToQuote( strCmdLine, TRUE );   
 
 strCmdLine = strCmdLine + " /M" + PRODUCT_GUID;

 // Create the shortcut.
 AddFolderIcon(FOLDER_PROGRAMS ^ strProductFolder, "卸载",strCmdLine, "","",0, "", NULL ); 
end;
//////////////////////////////
好了,最后只需在OnFirstUIBefore函数return之前调用下那个函数就over了~
这下就可以随意改程序文件夹(就是菜单所在文件夹)了
怎么样?是不是不用再为了不知道如何创建卸载快捷方式而急得了?嘿嘿……

哦,忘了说那个ID_STRING3是哪来的了,在快捷方式创建的界面里,选择你的产品文件夹,看右边属性……Display Name:……{ID_STRING3}就这么来的~

本文地址:http://com.8s8s.com/it/it448.htm