Having problems opening legacy assemblies that had parts saved internally? If you’re getting the “Unable to locate the file…” error referencing a temporary folder, your problem might be in the naming!
In SolidWorks 2009 and prior, you could rename the entire extension of the virtual component saved within the assembly. For example a virtual part named “[vpart1^assembly1]” could be renamed to “[Vpart^Assy]” or simply “[vpart].” It was also possible that while doing a Pack and Go, the assembly would be renamed, but not the virtual component. Starting in 2010, this was changed so that only the “part” portion of the name could be changed. A virtual component named “[vpart1^assembly1]” can only have the “vpart1” portion renamed, while the “^assembly1” will always be the same as the assembly it is stored in.
If the legacy file you’re trying to open in SolidWorks 2010 or newer has had the assembly portion of the component renamed, it will not recognize it as a virtual component and will try to find the file. To get the file to open properly in 2010 and later, you will have to go back and open the part in 2009 and find the virtual part. Any parts shown with brackets such as [vpart] will need to be renamed to have the full current assembly name after the carrot. If you assembly is named “assy123” the virtual component needs to be named “[vpart^assy123].” Save the assembly with the renamed component. Now your assembly should open properly and recognize the virtual component!