On Tue, Feb 25, 2014 at 3:51 AM, Tobias Doerffel <tobias.doerffel@gmail.com> wrote:
Like creating the reg keys, this is should be achieved by NSIS calls
(see https://github.com/LMMS/lmms/blob/stable-0.4/cmake/nsis/FileAssociation.nsh)
instead of shell commands. I can take a look at it.

Great.  Filed bug #385

From what I can gather:

!include "FileAssociation.nsh"
!insertmacro UnRegisterExtension
!insertmacro RefreshShellIcons
${FileAssociation_VERBOSE} 4   # all verbosity
${unregisterExtension} ".mmp" "LMMS Project"
${unregisterExtension} ".mmpz" "LMMS Project (compressed)"

Which (i believe) you've illustrated need to be built dynamically by CMake but I can't decipher if this takes care of the extensions AND the application.