Archive: Mui_startmenu_variable


Mui_startmenu_variable
stupid newbie question:

i want to override the folder my start menu shortcuts get placed in.

having spotted this:
;$9 is being used to store the Start Menu Folder.
;Do not use this variable in your script (or Push/Pop it)!
;To change this variable, use MUI_STARTMENU_VARIABLE.

i've been trying to work out how to use MUI_STARTMENU_VARIABLE to modify the value.

looking at MUI_FUNCTIONS_STARTMENUPAGE in system.nsh lead me to belive that all i had to do was
!define MUI_STARTMENU_VARIABLE "My Folder\My Other Folder"
in my script, but when i do this i get the following errors during compilation:

!insertmacro: MUI_SYSTEM
Usage: StrCpy $(user_var: output) str [maxlen] [startoffset]
Error in macro MUI_FUNCTIONS_STARTMENUPAGE on macroline 30
Error in macro MUI_FUNCTIONS_PAGES on macroline 25
Error in macro MUI_BASIC on macroline 9
Error in macro MUI_SYSTEM on macroline 9
Error in script "C:\SourceCode\ArtEvent310\Installer\ArtEvent.nsi" on line 48 -- aborting creation process

can someon tell me what i'm doing wrong / point me at the appropriate section of the appriate manual.


whilst i'm here, i couldn't spot a way of referring to the "common files" folder in the same way as the program files, system, etc. folders are referred to. is there one?


using MUI (obviously) and NSIS build 20b1


You need to define MUI_STARTMENU_DEFAULTFOLDER as stated in the Modern UI documents under MUI_STARTMENUPAGE.

To get the Common Files folder path read this registry value:
HKLM Software\Microsoft\Windows\CurrentVersion CommonFilesDir
For example:
RegReadStr $0 HKLM Software\Microsoft\Windows\CurrentVersion CommonFilesDir