21bird的blog

csdn上的鸟窝

21bird
最近评论
D2book:恩,我就是在大会上认识大叔的。哈哈
21bird:◎STRING× 是IS脚本的字符串资源名字哇~如果你会用vc,就可以理解了,跟vc的字符串资源很相像的用法……

“卸载快捷方式在Project Assistant 里设置不好,是不是和工程种类有关系呢?个人感觉installshield分了好多种工程,工程之间的差别特别大,是不是换种工程就可以使用Project Assistant 了呢”

偶也不……
happyjanezj:另外,卸载快捷方式在Project Assistant 里设置不好,是不是和工程种类有关系呢?个人感觉installshield分了好多种工程,工程之间的差别特别大,是不是换种工程就可以使用Project Assistant 了呢
happyjanezj:想请教LZ,@STRING是什么意思呢?我做的工程脚本就没用这个,用了这个有什么益处呢?想向LZ学习下
21bird:to 楼上的:
所以才叫“ 闲话”嘛~

偶不打算写具体如何做,书上的比偶说的好说的细……
文章分类
收藏
相册
文章用图
精彩blog
bitfan的让你思考的blog
listshyp's blog
yeka博文,yeka文(RSS)
美味毒药(RSS)
西子湖畔居(RSS)
天外天
hrb_qiuyb的Oracle专栏(RSS)
Itmaster的嵌入式Linux专栏(RSS)
jiangsheng专栏(RSS)
Justin Wu's Blog(PHPSalon)(RSS)
kingcom_xu的文档(RSS)
shadowstar的专栏(RSS)
VC薄荷(RSS)
发呆上帝的blog(RSS)
周翔的Blog(RSS)
废人废语(RSS)
张秀君专栏(RSS)
成片的大树(RSS)
沧海笑一声的Blog(RSS)
漂亮狗窝(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 InstallShield X (10.5) 使用手记之《创建卸载应用的快捷方式》收藏

新一篇: 五湖四海聚一堂……CSDN 2007 英雄会心情流水账 | 旧一篇: 闲话XML+XSLT的新用途:特殊界面处理方案……(主要应用于C/S模式)

  记得两年多以前发表了篇 InstallShield Developer 8 使用手记之《创建卸载应用的快捷方式》,都这么久了,也该出个“新版”的了……

  因为最近要做的一个数据库应用的发布包,就打算试下前不久挖到的新版 Install Shield X,本来可以不用它的,可是这次打算做个能自动创建数据库及相关数据库对象的安装包,想起前不久发现 Install Shield X 就有这个功能……嘿嘿,终于找到用新版软件的理由了…… 虽然偶做的只是Windows平台的安装包……

    先说说新版的初体验……

    折腾了两天之久,感受到这个新版(其实现在应该算是旧版了吧?)的 Install Shield X(版本号是10.5 Premier Edition),果然改进了许多,不过很多简单的设置不再“简单”了,不再像以前的8.02那样简单的在界面上随便点几下鼠标就可搞定了。

    虽然有个新的 Project Assistant,可是提到这个 Project Assistant 偶的气就不打一处来……原因嘛……就得从偶要做卸载应用的快捷方式说起……

想一想8.02版的卸载快捷方式偶都做过,这个新版的InstallShield X又怎能难得住偶?! 找了下Help文档,发现了个“Creating an Uninstallation Shortcut”的主题,一看内容……

To create an uninstallation shortcut:

  1. Open the Application Shortcuts page of the Project Assistant.
  2. In the More Options section, click Create an uninstallation shortcut.

高兴!新版就是好,这么简单……赶紧打开界面……嗯?根本没有哇~我找哇找……找了几个小时,偶晕!

还是没有哇!偶眼神这么差吗?还是偶e文太烂?!不对!

不管怎么说,偶就是没看到他说的这个设置!怒!

也许是偶真的不会用,弄错了?!不管他,老办法:“没有枪,没有炮,咱们自己造!”……

 按照两年前的文章,代码拿来……编译……没错,运行完了一看……果然如别人所说……都不能用!……头晕……

  于是偶一通翻文档哇,可偶e文不好哇,google哇,俩小时也没找到有用的哇~看来咱水平太差……不过偶倒是想起了个特殊的方法,使用微软的工具看看Windows到底做了啥……嘿嘿……这一招如果不好使,本文这么多字岂不是都成了废话了……

具体方法嘛,前一半的工作跟上文一样,参见这篇 InstallShield Developer 8 使用手记之《创建卸载应用的快捷方式》,不过不一样的地方就在于那个函数的内容……

对于 Install Shield X ,这个函数应该写成这样:

function CreateUninstallShortcut()   
 string strCmdLine, strProductFolder, strIconPath, strItemName;
begin   
 strCmdLine 
= UNINSTALL_STRING ^ " -removeonly";
 strProductFolder 
= @ID_STRING19;
 strIconPath 
= TARGETDIR ^ "\uninstall.ico";
 strItemName 
= "卸载" + @ID_STRING4;
 
// Create the shortcut. 
 AddFolderIcon(FOLDER_PROGRAMS ^ strProductFolder,
                      strItemName, strCmdLine,
                      
"", strIconPath, 0"", NULL );
end;

其实最关键的就是begin后面那句,这就是新版改进了的地方,8.02版需要多一堆罗嗦的代码,新版都省了……

注释:

@ID_STRING19你的软件产品在开始菜单里的文件夹名(以前叫程序组),比如SQL Server 的菜单“Microsoft SQL Server”……

strIconPath = TARGETDIR ^ "\\uninstall.ico";//偶为了美观,给他装了个图标,嘿嘿……

@ID_STRING4 是偶软件产品的名字……

OK,就这些,快去编译看看结果吧……

发表于 @ 2007年02月05日 19:26:00|评论(loading...)|编辑|收藏

新一篇: 五湖四海聚一堂……CSDN 2007 英雄会心情流水账 | 旧一篇: 闲话XML+XSLT的新用途:特殊界面处理方案……(主要应用于C/S模式)

评论

#happyjanezj 发表于2007-02-14 16:52:29  IP:
想请教LZ,@STRING是什么意思呢?我做的工程脚本就没用这个,用了这个有什么益处呢?想向LZ学习下
#happyjanezj 发表于2007-02-14 16:54:36  IP:
另外,卸载快捷方式在Project Assistant 里设置不好,是不是和工程种类有关系呢?个人感觉installshield分了好多种工程,工程之间的差别特别大,是不是换种工程就可以使用Project Assistant 了呢
#21bird 发表于2007-02-25 11:09:16  IP: 202.118.250.*
◎STRING× 是IS脚本的字符串资源名字哇~如果你会用vc,就可以理解了,跟vc的字符串资源很相像的用法……

“卸载快捷方式在Project Assistant 里设置不好,是不是和工程种类有关系呢?个人感觉installshield分了好多种工程,工程之间的差别特别大,是不是换种工程就可以使用Project Assistant 了呢”

偶也不怎么会用IS,偶也很怀疑这个可能,不过就算如此,他也该在文档中指出哇……如果真是如此,只能说他做的可能不太完善……
因为他是国外知名软件,所以咱对他就格外挑剔了一点,嘿嘿……
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 21bird