Notifications
                
            
                Clear all
    
            
        [Closed] Get 3DMAX installation path
Aug 28, 2020 8:07 pm
                      Excuse me, how can I get all the installed 3DMAX installation paths in the computer through script in 3DMAX? Although I tried my best to think about it, the lack of technology made it impossible for me to continue.
                             2 Replies                        
                    Aug 28, 2020 8:07 pm
                      you can do it using environment variables, but is skips some older max versions
(
	ev = (dotnetclass "system.environment").GetEnvironmentVariables()
	keys   = dotNetObject "system.string[]" ev.keys.count
	values = dotNetObject "system.string[]" ev.values.count
	ev.keys.copyTo keys 0
	ev.values.copyTo values 0
	installed_max_versions = for i = 0 to ev.values.count-1 collect
	(
		key = keys.get i
		val = values.get i
		
		if MatchPattern key pattern:"ADSK_3DSMAX_*" and (MatchPattern key pattern:"ADSK_3DSMAX_SDK*" == false) then #( key, val ) else dontCollect
	)
	print installed_max_versions
)
this one should work for 2009+
(
	installed_max_versions = for i = 1 to 30 collect
	(
		local val 
		local current_key
		local keys = #( "SOFTWARE\Autodesk\3DSMAX\\" + i as string + ".0\MAX-1:409", "SOFTWARE\Autodesk\3DSMAX\\" + i as string + ".0" )
		
		local success = false
		for k in keys while not success do
		(
			success = registry.openKey HKEY_LOCAL_MACHINE k accessRights:#readOnly key:¤t_key
		)
		
		if success do registry.queryValue current_key "InstallDir" value:&val	
		if success and val != undefined then #( 1998 + i, val ) else dontCollect	
	)
	print installed_max_versions
)