在我的NSIS脚本中,MUI_STARTMENU_GETFOLDER
宏未按预期工作 - 而不是向我提供用户实际输入的文件夹,它为我提供了我之前设置的默认值。在我的剧本开头附近,我有:
Var StartMenuFolder ; Define variable to hold start menu folder
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PRODUCT_PUBLISHER}\${PRODUCT_NAME}" ; Set default start menu folder
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
我可以使用$StartMenuFolder
访问安装程序(但不是卸载程序)中的!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
部分。在卸载程序部分和宏中,它不返回实际的开始菜单文件夹,而是返回上面指定的默认文件夹。
答案 0 :(得分:1)
MUI_STARTMENU_GETFOLDER宏假定您在安装期间使用了MUI_STARTMENUPAGE_REGISTRY_ *定义和MUI_STARTMENU_WRITE_ *宏(所有MUI_STARTMENU_GETFOLDER都读取安装程序编写的注册表项(如果MUI_STARTMENUPAGE_REGISTRY_ *定义设置正确,则该条目写入MUI_STARTMENU_WRITE_END) )