diff --git a/Code/Mantid/Build/CMake/WindowsNSIS.cmake b/Code/Mantid/Build/CMake/WindowsNSIS.cmake
index 583a99ef3b3a7a979e087448eb669056607ea167..068128ff51d732c5db36ef7f6c4b9e28640abc58 100644
--- a/Code/Mantid/Build/CMake/WindowsNSIS.cmake
+++ b/Code/Mantid/Build/CMake/WindowsNSIS.cmake
@@ -1,206 +1,275 @@
-##########################################################################
-# Does the CPack configuration for Windows/NSIS
-#
-# Bundles python
-# Copies include directories
-# Copies scons
-# Copies files required for User Algorithms
-# Copies selected third party dlls accross
-# Sets up env variables, shortcuts and required folders post install and post uninstall.
+###########################################################################
+# CPack configuration for Windows using NSIS
 ###########################################################################
 
-    # Windows CPACK specifics
-    set( CPACK_GENERATOR "NSIS" )
-    set( CPACK_INSTALL_PREFIX "/")
-    set( CPACK_NSIS_DISPLAY_NAME "Mantid${CPACK_PACKAGE_SUFFIX}")
-    set( CPACK_PACKAGE_NAME "mantid${CPACK_PACKAGE_SUFFIX}" )
-    set( CPACK_PACKAGE_INSTALL_DIRECTORY "MantidInstall${CPACK_PACKAGE_SUFFIX}") 
-    set( CPACK_NSIS_INSTALL_ROOT "C:")
-    set( CPACK_PACKAGE_EXECUTABLES "MantidPlot;MantidPlot")
-    set( CPACK_NSIS_MENU_LINKS "bin\\\\MantidPlot.exe" "MantidPlot")
-    
-    set( CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.png" )
-    set( CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.ico" )
-    set( CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.ico" )
-    set( WINDOWS_DEPLOYMENT_TYPE "Release" CACHE STRING "Type of deployment used")
-    set_property(CACHE WINDOWS_DEPLOYMENT_TYPE PROPERTY STRINGS Release Debug)
-    mark_as_advanced(WINDOWS_DEPLOYMENT_TYPE)
-    
-    # Manually place necessary files and directories
-    
-    # include files
-    install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/boost DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/Poco DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/nexus DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    install ( FILES ${CMAKE_INCLUDE_PATH}/napi.h DESTINATION include )
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/Kernel/inc/MantidKernel DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/Geometry/inc/MantidGeometry DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/API/inc/MantidAPI DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    
-    # scons directory for sser building
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Installers/WinInstaller/scons-local/ DESTINATION scons-local PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
-    # user algorithms
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/ DESTINATION UserAlgorithms FILES_MATCHING PATTERN "*.h" )
-    install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/ DESTINATION UserAlgorithms FILES_MATCHING PATTERN "*.cpp" )
-    install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/build.bat ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/createAlg.py 
-              ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/SConstruct DESTINATION UserAlgorithms )
-    install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidKernel.lib" DESTINATION UserAlgorithms)
-    install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidGeometry.lib" DESTINATION UserAlgorithms)
-    install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidAPI.lib" DESTINATION UserAlgorithms)
-    install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidDataObjects.lib" DESTINATION UserAlgorithms)
-    install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidCurveFitting.lib" DESTINATION UserAlgorithms)
-    # Poco libs for UserAlgorithms. Boost name depends on compiler version
-    install ( FILES ${CMAKE_LIBRARY_PATH}/PocoFoundation.lib ${CMAKE_LIBRARY_PATH}/PocoXML.lib DESTINATION UserAlgorithms)
-    
-    # Copy MSVC runtime libraries
-    if ( MSVC_VERSION EQUAL 1700 )
-      set ( RUNTIME_VER 110 )
-      # Boost library is a different version
-      install ( FILES ${CMAKE_LIBRARY_PATH}/boost_date_time-vc110-mt-1_52.lib DESTINATION UserAlgorithms )
-    else() # Assume 100 like we always did
-      set ( RUNTIME_VER 100 )
-      # Boost library is a different version
-      install ( FILES ${CMAKE_LIBRARY_PATH}/boost_date_time-vc100-mt-1_43.lib DESTINATION UserAlgorithms )
-    endif ()
-
-    file ( TO_CMAKE_PATH $ENV{VS${RUNTIME_VER}COMNTOOLS}/../../VC/redist VC_REDIST )
-    if ( CMAKE_CL_64 )
-        set ( VC_REDIST ${VC_REDIST}/x64 )
-    else()
-        set ( VC_REDIST ${VC_REDIST}/x86 )
-    endif()
-    # Runtime libraries
-    set ( RUNTIME_DLLS msvcp${RUNTIME_VER}.dll msvcr${RUNTIME_VER}.dll )
-    set ( REDIST_SUBDIR Microsoft.VC${RUNTIME_VER}.CRT )
-    foreach( DLL ${RUNTIME_DLLS} )
-        install ( FILES ${VC_REDIST}/${REDIST_SUBDIR}/${DLL} DESTINATION bin )
-    endforeach()
-
-    # openmp library(s)
-    set ( OPENMP_DLLS vcomp${RUNTIME_VER}.dll )
-    set ( REDIST_SUBDIR Microsoft.VC${RUNTIME_VER}.OpenMP )
-    foreach( DLL ${OPENMP_DLLS} )
-        install ( FILES ${VC_REDIST}/${REDIST_SUBDIR}/${DLL} DESTINATION bin )
-    endforeach() 
-
-    # Copy third party dlls excluding selected Qt ones and debug ones
-    install ( DIRECTORY ${CMAKE_LIBRARY_PATH}/ DESTINATION bin FILES_MATCHING PATTERN "*.dll"
-    REGEX "${CMAKE_LIBRARY_PATH}/CRT/*" EXCLUDE
-    REGEX "${CMAKE_LIBRARY_PATH}/Python27/*" EXCLUDE 
-    REGEX "${CMAKE_LIBRARY_PATH}/qt_plugins/*" EXCLUDE 
-    REGEX "(QtDesigner4.dll)|(QtDesignerComponents4.dll)|(QtScript4.dll)|(-gd-)|(-gyd)|(d4.dll)|(_d.dll)" EXCLUDE
-    REGEX "boost_signals" EXCLUDE
-    PATTERN ".git" EXCLUDE )
-
-    # Qt plugins into out plugins directory and use qt.conf to point Qt at where they are
-    install ( DIRECTORY ${CMAKE_LIBRARY_PATH}/qt_plugins/imageformats ${CMAKE_LIBRARY_PATH}/qt_plugins/sqldrivers DESTINATION plugins/qtplugins 
-              REGEX "^.*d4.dll$" EXCLUDE  )
-    install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/Installers/WinInstaller/qt.conf DESTINATION bin )
-   
-    # Release deployments do modify enviromental variables, other deployments do not.
-    if(CPACK_PACKAGE_SUFFIX STREQUAL "") 
-        # On install
-        set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS "Push \\\"MANTIDPATH\\\"
-            Push \\\"A\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\bin\\\"
-            Call EnvVarUpdate
-            Pop  \\\$0
-        
-            Push \\\"PATH\\\"
-            Push \\\"A\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\bin\\\"
-            Call EnvVarUpdate
-            Pop  \\\$0
-            
-            Push \\\"PATH\\\"
-            Push \\\"A\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\"
-            Call EnvVarUpdate
-            Pop  \\\$0
-            
-            Push \\\"PATH\\\"
-            Push \\\"A\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PLUGINS_DIR}\\\"
-            Call EnvVarUpdate
-            Pop  \\\$0
-            
-            Push \\\"PV_PLUGIN_PATH\\\"
-            Push \\\"A\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\\${PVPLUGINS_DIR}\\\"
-            Call EnvVarUpdate
-            Pop  \\\$0
-        
-            CreateShortCut \\\"$DESKTOP\\\\MantidPlot.lnk\\\" \\\"$INSTDIR\\\\bin\\\\MantidPlot.exe\\\"
-        
-            CreateDirectory \\\"$INSTDIR\\\\logs\\\"
-        
-            CreateDirectory \\\"$INSTDIR\\\\docs\\\"
-        ")
-    # On unistall reverse stages listed above.
-        set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS 
-            "Push \\\"PATH\\\"
-            Push \\\"R\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\bin\\\"
-            Call un.EnvVarUpdate
-            Pop  \\\$0
-            
-            Push \\\"PATH\\\"
-            Push \\\"R\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\"
-            Call un.EnvVarUpdate
-            Pop  \\\$0
-            
-            Push \\\"PATH\\\"
-            Push \\\"R\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PLUGINS_DIR}\\\"
-            Call un.EnvVarUpdate
-            Pop  \\\$0
-        
-            Push \\\"MANTIDPATH\\\"
-            Push \\\"R\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\bin\\\"
-            Call un.EnvVarUpdate
-            Pop  \\\$0
-
-            Push \\\"PV_PLUGIN_PATH\\\"
-            Push \\\"R\\\"
-            Push \\\"HKCU\\\"
-            Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\\${PVPLUGINS_DIR}\\\"
-            Call un.EnvVarUpdate
-            Pop  \\\$0
-        
-            Delete \\\"$DESKTOP\\\\MantidPlot.lnk\\\"
-        
-            RMDir \\\"$INSTDIR\\\\logs\\\"
-        
-            RMDir \\\"$INSTDIR\\\\docs\\\"
-        ")
-    else ()
-    set( CPACK_PACKAGE_INSTALL_DIRECTORY "MantidInstall${CPACK_PACKAGE_SUFFIX}")
-    set( CPACK_NSIS_INSTALL_ROOT "C:")
+###########################################################################
+# General settings
+###########################################################################
+set( CPACK_GENERATOR "NSIS" )
+set( CPACK_INSTALL_PREFIX "/")
+set( CPACK_NSIS_DISPLAY_NAME "Mantid${CPACK_PACKAGE_SUFFIX}")
+set( CPACK_PACKAGE_NAME "mantid${CPACK_PACKAGE_SUFFIX}" )
+set( CPACK_PACKAGE_INSTALL_DIRECTORY "MantidInstall${CPACK_PACKAGE_SUFFIX}")
+set( CPACK_NSIS_INSTALL_ROOT "C:")
+set( CPACK_PACKAGE_EXECUTABLES "MantidPlot;MantidPlot")
+set( CPACK_NSIS_MENU_LINKS "bin\\\\MantidPlot.exe" "MantidPlot")
+set( CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.png" )
+set( CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.ico" )
+set( CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/Images\\\\MantidPlot_Icon_32offset.ico" )
+
+###########################################################################
+# Deployment type - currently only works for Release!
+###########################################################################
+set( WINDOWS_DEPLOYMENT_TYPE "Release" CACHE STRING "Type of deployment used")
+set_property(CACHE WINDOWS_DEPLOYMENT_TYPE PROPERTY STRINGS Release Debug)
+mark_as_advanced(WINDOWS_DEPLOYMENT_TYPE)
+
+###########################################################################
+# External dependency DLLs
+###########################################################################
+# MSVC runtime & openmp libs for Visual Studio (v110 of the runtime).
+# They are in the locations defined by the VS110COMNTOOLS environment variable
+set ( RUNTIME_VER 110 )
+file ( TO_CMAKE_PATH $ENV{VS${RUNTIME_VER}COMNTOOLS}/../../VC/redist/x64 VC_REDIST )
+set ( RUNTIME_DLLS msvcp${RUNTIME_VER}.dll msvcr${RUNTIME_VER}.dll )
+set ( REDIST_SUBDIR Microsoft.VC${RUNTIME_VER}.CRT )
+foreach( DLL ${RUNTIME_DLLS} )
+  install ( FILES ${VC_REDIST}/${REDIST_SUBDIR}/${DLL} DESTINATION bin )
+endforeach()
+# openmp library(s)
+set ( OPENMP_DLLS vcomp${RUNTIME_VER}.dll )
+set ( REDIST_SUBDIR Microsoft.VC${RUNTIME_VER}.OpenMP )
+foreach( DLL ${OPENMP_DLLS} )
+    install ( FILES ${VC_REDIST}/${REDIST_SUBDIR}/${DLL} DESTINATION bin )
+endforeach()
+
+# Lists of included DLLs
+set ( BOOST_DIST_DLLS
+    boost_date_time-vc110-mt-1_52.dll
+    boost_python-vc110-mt-1_52.dll
+    boost_regex-vc110-mt-1_52.dll
+)
+set ( POCO_DIST_DLLS
+    PocoCrypto64.dll
+    PocoFoundation64.dll
+    PocoNet64.dll
+    PocoNetSSL64.dll
+    PocoUtil64.dll
+    PocoXML64.dll
+)
+set ( OCC_DIST_DLLS
+    TKBO.dll
+    TKBRep.dll
+    TKernel.dll
+    TKG2d.dll
+    TKG3d.dll
+    TKGeomAlgo.dll
+    TKGeomBase.dll
+    TKMath.dll
+    TKMesh.dll
+    TKPrim.dll
+    TKTopAlgo.dll
+)
+set ( MISC_CORE_DIST_DLLS
+    cblas.dll
+    gsl.dll
+    hdf5_cppdll.dll
+    hdf5_hl_cppdll.dll
+    hdf5_hldll.dll
+    hdf5dll.dll
+    jsoncpp.dll
+    libeay32.dll
+    libNeXus-0.dll
+    libNeXusCPP-0.dll
+    muparser.dll
+    mxml1.dll
+    ssleay32.dll
+    szip.dll
+    zlib.dll
+)
+set ( QT_DIST_DLLS
+    phonon4.dll
+    Qt3Support4.dll
+    QtCLucene4.dll
+    QtCore4.dll
+    QtDeclarative4.dll
+    QtDesigner4.dll
+    QtDesignerComponents4.dll
+    QtGui4.dll
+    QtHelp4.dll
+    QtMultimedia4.dll
+    QtNetwork4.dll
+    QtOpenGL4.dll
+    QtScript4.dll
+    QtScriptTools4.dll
+    QtSql4.dll
+    QtSvg4.dll
+    QtTest4.dll
+    QtWebKit4.dll
+    QtXml4.dll
+    QtXmlPatterns4.dll )
+set ( MISC_GUI_DIST_DLLS
+    qscintilla2.dll
+    qwtplot3d.dll
+)
+set ( DIST_DLLS ${BOOST_DIST_DLLS} ${POCO_DIST_DLLS} ${OCC_DIST_DLLS} ${MISC_CORE_DIST_DLLS}
+                ${QT_DIST_DLLS} ${MISC_GUI_DIST_DLLS} )
+foreach( DLL ${DIST_DLLS} )
+  install ( FILES ${CMAKE_LIBRARY_PATH}/${DLL} DESTINATION bin )
+endforeach()
+
+###########################################################################
+# Qt Plugins + qt.conf file
+###########################################################################
+install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/Installers/WinInstaller/qt.conf DESTINATION bin )
+# imageformats
+set ( QT_PLUGINS_IMAGEFORMAT qgif4.dll qico4.dll qjpeg4.dll qmng4.dll qsvg4.dll qtga4.dll qtiff4.dll )
+foreach( DLL ${QT_PLUGINS_IMAGEFORMAT} )
+  install ( FILES ${CMAKE_LIBRARY_PATH}/qt_plugins/imageformats/${DLL} DESTINATION plugins/qtplugins/imageformats/${DLL} )
+endforeach()
+# sqlite
+install ( FILES ${CMAKE_LIBRARY_PATH}/qt_plugins/sqldrivers/qsqlite4.dll DESTINATION plugins/qtplugins/sqldrivers/qsqlite4.dll )
+
+###########################################################################
+# Include files/libraries required for User compilation
+###########################################################################
+install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/boost DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/Poco DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+install ( DIRECTORY ${CMAKE_INCLUDE_PATH}/nexus DESTINATION include PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+install ( FILES ${CMAKE_INCLUDE_PATH}/napi.h DESTINATION include )
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/Kernel/inc/MantidKernel DESTINATION include
+          PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/Geometry/inc/MantidGeometry DESTINATION include
+          PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/API/inc/MantidAPI DESTINATION include
+          PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+# scons
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Installers/WinInstaller/scons-local/ DESTINATION scons-local
+          PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE )
+# user algorithms
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/ DESTINATION UserAlgorithms FILES_MATCHING PATTERN "*.h" )
+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/ DESTINATION UserAlgorithms FILES_MATCHING PATTERN "*.cpp" )
+install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/build.bat ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/createAlg.py
+          ${CMAKE_CURRENT_SOURCE_DIR}/Framework/UserAlgorithms/SConstruct DESTINATION UserAlgorithms )
+# Core library export files to allow linking
+install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidKernel.lib" DESTINATION UserAlgorithms)
+install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidGeometry.lib" DESTINATION UserAlgorithms)
+install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidAPI.lib" DESTINATION UserAlgorithms)
+install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidDataObjects.lib" DESTINATION UserAlgorithms)
+install ( FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${WINDOWS_DEPLOYMENT_TYPE}/MantidCurveFitting.lib" DESTINATION UserAlgorithms)
+# Third Party libs for building
+install ( FILES ${CMAKE_LIBRARY_PATH}/PocoFoundation.lib ${CMAKE_LIBRARY_PATH}/PocoXML.lib DESTINATION UserAlgorithms)
+install ( FILES ${CMAKE_LIBRARY_PATH}/boost_date_time-vc110-mt-1_52.lib DESTINATION UserAlgorithms )
+
+###########################################################################
+# Environment variables
+###########################################################################
+# Release deployments do modify environmental variables, other deployments do not.
+if ( CPACK_PACKAGE_SUFFIX STREQUAL "" )
     # On install
-        set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
-            CreateShortCut \\\"$DESKTOP\\\\MantidPlot.lnk\\\" \\\"$INSTDIR\\\\bin\\\\MantidPlot.exe\\\"
-        
-            CreateDirectory \\\"$INSTDIR\\\\logs\\\"
-        
-            CreateDirectory \\\"$INSTDIR\\\\docs\\\"
-        ")
+    set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS "Push \\\"MANTIDPATH\\\"
+        Push \\\"A\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\bin\\\"
+        Call EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PATH\\\"
+        Push \\\"A\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\bin\\\"
+        Call EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PATH\\\"
+        Push \\\"A\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\"
+        Call EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PATH\\\"
+        Push \\\"A\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PLUGINS_DIR}\\\"
+        Call EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PV_PLUGIN_PATH\\\"
+        Push \\\"A\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\\${PVPLUGINS_DIR}\\\"
+        Call EnvVarUpdate
+        Pop  \\\$0
+
+        CreateShortCut \\\"$DESKTOP\\\\MantidPlot.lnk\\\" \\\"$INSTDIR\\\\bin\\\\MantidPlot.exe\\\"
+
+        CreateDirectory \\\"$INSTDIR\\\\logs\\\"
+
+        CreateDirectory \\\"$INSTDIR\\\\docs\\\"
+    ")
     # On unistall reverse stages listed above.
-        set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
-            Delete \\\"$DESKTOP\\\\MantidPlot.lnk\\\"
-        
-            RMDir \\\"$INSTDIR\\\\logs\\\"
-        
-            RMDir \\\"$INSTDIR\\\\docs\\\"
-        ")
-    endif()
+    set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
+        "Push \\\"PATH\\\"
+        Push \\\"R\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\bin\\\"
+        Call un.EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PATH\\\"
+        Push \\\"R\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\"
+        Call un.EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PATH\\\"
+        Push \\\"R\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PLUGINS_DIR}\\\"
+        Call un.EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"MANTIDPATH\\\"
+        Push \\\"R\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\bin\\\"
+        Call un.EnvVarUpdate
+        Pop  \\\$0
+
+        Push \\\"PV_PLUGIN_PATH\\\"
+        Push \\\"R\\\"
+        Push \\\"HKCU\\\"
+        Push \\\"$INSTDIR\\\\${PVPLUGINS_DIR}\\\\${PVPLUGINS_DIR}\\\"
+        Call un.EnvVarUpdate
+        Pop  \\\$0
+
+        Delete \\\"$DESKTOP\\\\MantidPlot.lnk\\\"
+
+        RMDir \\\"$INSTDIR\\\\logs\\\"
+
+        RMDir \\\"$INSTDIR\\\\docs\\\"
+    ")
+else ()
+  set( CPACK_PACKAGE_INSTALL_DIRECTORY "MantidInstall${CPACK_PACKAGE_SUFFIX}")
+  set( CPACK_NSIS_INSTALL_ROOT "C:")
+  # On install
+  set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS
+    "CreateShortCut \\\"$DESKTOP\\\\MantidPlot.lnk\\\" \\\"$INSTDIR\\\\bin\\\\MantidPlot.exe\\\"
+
+     CreateDirectory \\\"$INSTDIR\\\\logs\\\"
+
+     CreateDirectory \\\"$INSTDIR\\\\docs\\\"
+    "
+  )
+  # On unistall reverse stages listed above.
+  set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
+    "Delete \\\"$DESKTOP\\\\MantidPlot.lnk\\\"
+
+     RMDir \\\"$INSTDIR\\\\logs\\\"
+
+     RMDir \\\"$INSTDIR\\\\docs\\\"
+    "
+  )
+endif()