如何在 CPACK 和 NSIS 中为文本文件添加开始菜单条目
Posted
技术标签:
【中文标题】如何在 CPACK 和 NSIS 中为文本文件添加开始菜单条目【英文标题】:How do I add a start menu entry for a text file in CPACK ans NSIS 【发布时间】:2013-02-12 11:41:33 【问题描述】:我想在开始菜单中输入release_notes.txt
或release_notes.html
。当我在菜单中选择 release_notes 条目时,文本文件将出现在记事本中或 html 填充在 Web 浏览器中。但我不知道如何在CMakeLists.txt
中编写命令来做到这一点。
【问题讨论】:
至少追溯到 Win2000,MS 指南告诉您不要为帮助/卸载程序/等创建开始菜单条目... 【参考方案1】:你在用CPACK_NSIS_MENU_LINKS
吗?
或者你可以使用CPACK_NSIS_EXTRA_INSTALL_COMMANDS
...
【讨论】:
CPACK_NSIS_MENU_LINKS 解决了这个问题。我还发现它记录在 CPackNSIS.cmake 中。【参考方案2】:不确定当前版本的 CMake 是否提供更简单/不同的方式,但这就是我们所做的:
SET( CPACK_NSIS_CREATE_ICONS_EXTRA
"
CreateShortcut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\SDK Documentation.lnk\\\" \\\"$INSTDIR\\\\doc\\\\html\\\\index.html\\\"
" )
SET( CPACK_NSIS_DELETE_ICONS_EXTRA
"
Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\SDK Documentation.lnk\\\"
" )
【讨论】:
【参考方案3】:类似于 Johannes 的回答,CPACK_NSIS_CREATE_ICONS_EXTRA 和 CPACK_NSIS_DELETE_ICONS_EXTRA 是管理快捷方式(开始菜单、桌面等)的一种灵活方式,包括在以下情况下添加命令行参数必需的。 This short article 提供了更多信息。它对删除链接使用略有不同的路径,并解释了原因。它还包括指向 NSIS 文档的链接,以显示您可以创建快捷方式的其他位置等。
【讨论】:
以上是关于如何在 CPACK 和 NSIS 中为文本文件添加开始菜单条目的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 CPACK_NSIS_WELCOME_TITLE 和 CPACK_NSIS_FINISH_TITLE?
CPack:如何执行多个 CPACK_NSIS_EXTRA_INSTALL_COMMANDS?
如何通过 CMake/CPack 在 NSIS 中设置向导图像?