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

文档说有两种方法:一种是通过IDE做,一种写脚本,本来以为用IDE省事,可操作未成功,可能是我不太会用那个功能

果然很省事,很快做好了,运行,一看,嗯?怎么不能用?

可是……怎么在“程序”文件夹里,我想放在我自己的产品文件夹里,怎么办呢?自己写代码吧~原来就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}就这么来的~
