Anytime you have problems with Crosswalk not showing up in Softimage or Crosswalk missing or dotXSI liberaries missing, it’s probably because the Common Files location is missing from your PATH environment variable.
Now, setenv.bat does add the Common Files location to the PATH:
rem Adding folder(s) to the Path set SOFTIMAGE_COMMONFILES=C:\Program Files\Common Files\Softimage if not "%XSI_SetenvDone%"=="" goto Done_Path set Path=%XSI_BINDIR%\%XSI_CPU%%_CPU_REVISION%;%XSI_BINDIR%;%SOFTIMAGE_COMMONFILES%;%Path% :Done_Path
but strangely, this doesn’t [always] help.
- If you start Softimage from the Start menu, this Softimage still can’t find the common file Crosswalk_2013.0.64.dll (which is installed in C:\Program Files\Common Files\Softimage).
- But if you start Softimage from a command prompt with XSI.bat, Softimage does find Crosswalk_2013.0.64.dll.
I stumbled on this when I wrote a little script to check whether or not Common Files was in the PATH. Because setenv.bat prepends the Common Files location to PATH, I need to check whether there is more than one occurrence in the PATH. If there’s just one, then that’s a problem because Crosswalk won’t be found when you start Softimage from the Start menu.
from siutils import si if Application.Version().split('.')>= "11": si = si() # win32com.client.Dispatch('XSI.Application') from siutils import log # LogMessage from siutils import disp # win32com.client.Dispatch from siutils import C # win32com.client.constants path = XSIUtils.Environment( 'PATH' ) cf = "".join( [XSIUtils.Environment( 'CommonProgramFiles' ), '\Softimage'] ) #cfx86 = "".join( [XSIUtils.Environment( 'CommonProgramFiles(x86)' ), '\Softimage'] ) # Check Common Files # Log number of times Common Files is found in PATH # log( path.split(';').count(cf) ) if path.split(';').count(cf) > 1: log( "'%s' is in PATH" % cf ) else: log( "'%s' is missing from PATH" % cf, C.siError )