InstallShield 2008建立快捷方式时默认是不创建卸载程序的快捷方式到开始菜单的,如果要在开始菜单的程序组中建立快捷方式,就需要我们手工创建了。方法如下:
进入 Installtion Designer - InstallScript 视图,选取 Setup.Rul 。在右边的 InstalltionScript 窗格顶部的事件下拉菜单中选取“Move Data”,接着选取右边函数下拉菜单的“OnMoved”函数。InstallShield 自动在 Setup.Rul 的底部生成 OnMoved() 函数,将此函数改写为:
- function OnMoved()
- string szApp, szCmdLine;
- number nDelimiter;
- begin
- if( !REMOVEALLMODE ) then
- // Find the delimiter
- nDelimiter = StrFind( UNINSTALL_STRING, DISK1SETUPEXENAME ) + StrLengthChars( DISK1SETUPEXENAME );
- // Build app & quote
- StrSub( szApp, UNINSTALL_STRING, 0, nDelimiter );
- LongPathToQuote( szApp, TRUE );
- // Build command line
- StrSub( szCmdLine, UNINSTALL_STRING, nDelimiter, StrLengthChars( UNINSTALL_STRING ) - nDelimiter );
- // Create shortcut.
- AddFolderIcon( FOLDER_PROGRAMS^"死亡阴影", "卸载死亡阴影", szApp + szCmdLine, "", "", 0, "", REPLACE );
- endif;
- end;
其中,AddFolderIcon 函数是创建卸载程序快捷方式的函数。FOLDER_PROGRAMS 参数是添加卸载程序的快捷方式到 Start\Programs 。如果在 Start\Programs 下建立有程序组文件夹,比如我建立了个“死亡阴影”的程序组文件夹,其参数写为: FOLDER_PROGRAMS^"死亡阴影" 。用“^”符号连接程序组文件夹的“Display Name”,而不是“Internal Name”(在“Shortcuts”视图中查看程序组文件夹的显示名称)。
与 FOLDER_PROGRAMS 参数相关的还有 FOLDER_DESKTOP 、FOLDER_STARTUP 和 FOLDER_STARTMENU 。它们分别在“桌面”、“开始启动菜单”和“开始菜单”建立卸载程序的快捷方式。
注意:如果“^”符号后面指定的程序组文件夹名称不存在,InstallShield将建立它,并将卸载程序的快捷方式放在里面。
印第安
2008年5月14日11:24:12
转载于:https://blog.51cto.com/indian/1057135