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

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

以前在论坛上看到有人问这个,如今自己也打算做一个,于是搜索了以前的帖,发现很多答案说的都是关于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}就这么来的~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航