Files
create/tools/build/WindowsInstaller/setup/install.nsh
2023-11-14 14:55:08 -03:00

66 lines
1.8 KiB
NSIS

/*
install.nsh
Installation of program files, dictionaries and external components
*/
#--------------------------------
# Program files
Section -ProgramFiles SecProgramFiles
# if the $INSTDIR does not contain "FreeCAD" we must add a subfolder to avoid that FreeCAD will e.g.
# be installed directly to C:\programs - the uninstaller will then delete the whole
# C:\programs directory
StrCpy $String $INSTDIR
StrCpy $Search ${APP_NAME}
Call StrPoint # function from Utils.nsh
${if} $Pointer == "-1"
StrCpy $INSTDIR "$INSTDIR\${APP_DIR}"
${endif}
# turn on logging
# Note that this can first be done here since the log file is written to $INSTDIR
# to $INSTDIR must have a valid path before logging can be turned on
LogSet on
# Install and register the core FreeCAD files
# Initializes the plug-ins dir ($PLUGINSDIR) if not already initialized.
# $PLUGINSDIR is automatically deleted when the installer exits.
InitPluginsDir
# Binaries
SetOutPath "$INSTDIR\bin"
# recursively copy all files under bin
File /r "${FILES_FREECAD}\bin\*.*"
# MSVC redistributable DLLs
SetOutPath "$INSTDIR\bin"
File "${FILES_DEPS}\*.*"
# Others
SetOutPath "$INSTDIR\data"
File /r "${FILES_FREECAD}\data\*.*"
SetOutPath "$INSTDIR\doc"
File /r "${FILES_FREECAD}\doc\*.*"
SetOutPath "$INSTDIR\Ext"
File /r "${FILES_FREECAD}\Ext\*.*"
SetOutPath "$INSTDIR\lib"
File /r "${FILES_FREECAD}\lib\*.*"
SetOutPath "$INSTDIR\Mod"
File /r "${FILES_FREECAD}\Mod\*.*"
SetOutPath "$INSTDIR\resources"
File /r "${FILES_FREECAD}\resources\*.*"
SetOutPath "$INSTDIR\translations"
File /r "${FILES_FREECAD}\translations\*.*"
SetOutPath "$INSTDIR"
File /r "${FILES_THUMBS}"
# Create uninstaller
WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
SectionEnd