UP3: And another question: how can I make the list of installed versions of 3ds max to be displayed so that the user could simply check the version on which he wants to install the script? Now only one field with the location of one of the versions of 3ds max (the first in the list) is displayed and in order to select a different version the user should click the browse button and manualy specify the location of another installed version of 3ds max. But how then can we make it simply skip the undetected versions and show the location paths of only those versions that are installed? I can not know in advance which versions are installed by users, and which are not installed. It turns out that the installer hangs if any of the specified versions are not installed. UP2: I tried to remove from the check version of 3ds max, which are not installed and it worked.
HOW TO MEASURE IN 3D MAX 2013 CODE
When I remove this code snippet everything works fine, but it certainly does not detect the installed versions of 3ds max and does not find the location. Why can the installer freeze up on startup? Show me, please, where there can be a error? Text=Please locate your 3ds Max ROOT directory: ReadINIStr $MAX_DIR "$PLUGINSDIR\max_installdir.ini" "Field 3" "state" InstallOptions::dialog "$PLUGINSDIR\max_installdir.ini" WriteINIStr "$PLUGINSDIR\max_installdir.ini" "Field 3" "state" $MAX_DIR StrCmp $MAX_DIR "" MAX2018 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\20.0\MAX-1:409" "Installdir" StrCmp $MAX_DIR "" MAX2017 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\19.0\MAX-1:409" "Installdir" StrCmp $MAX_DIR "" MAX2016 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\18.0\MAX-1:409" "Installdir" StrCmp $MAX_DIR "" MAX2015 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\17.0\MAX-1:409" "Installdir" StrCmp $MAX_DIR "" MAX2014 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\16.0\MAX-1:409" "Installdir"
StrCmp $MAX_DIR "" MAX2013 FOUND_MOST_CURRENT ReadRegStr $MAX_DIR HKLM "SOFTWARE\Autodesk\3dsMax\15.0\MAX-1:409" "Installdir" As a result, during installation, the user should see the target folders with 3ds max installed: The path where 3ds Max is located:įile /oname=$PLUGINSDIR\max_installdir.ini "max_installdir.ini" The script is compiled without any errors, but when I try to run it hangs and nothing happens.īelow is the code fragment of the NSIS script, in which the process of reading from the registry is performed, writing the found information about the installed versions of 3ds max to the ini file. All works, when I create a simple script from a template, but when I tried to add a function that reads data from the registry to determine the installed versions of 3ds max and finding their location, then there was a problem. I'm trying to create an NSIS installer for maxscripts in 3ds max.