2010-07-21 42 views
2

在我的NSIS脚本中,MUI_STARTMENU_GETFOLDER宏没有按预期工作 - 而是给我用户实际输入的文件夹,它给了我之前设置的默认值。靠近我的脚本的开头我:NSIS - 检索开始菜单文件夹没有按预期工作

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 

我可以通过使用!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder访问安装$StartMenuFolder(但不卸载)部分。在卸载程序段和宏中,不是返回实际的开始菜单文件夹,而是返回上面指定的默认文件夹。

回答

1

的MUI_STARTMENU_GETFOLDER宏假定您使用的MUI_STARTMENUPAGE_REGISTRY_ *定义和MUI_STARTMENU_WRITE_ *安装过程中宏(所有MUI_STARTMENU_GETFOLDER不被读取安装程序写(条目写在MUI_STARTMENU_WRITE_END如果MUI_STARTMENUPAGE_REGISTRY_ *定义设置正确注册表项))