Do you have an environment variable called named winbootdir? To check, right-click on My Computer, select Properties > Advanced Tab > Environment Variables.
If you have it, delete it. It's not used by Windows XP anyway, and causes problems with Pro/E. It is left over by an upgrade to WinXP from Win95, Win98, or Windows ME.
**********************
**********************
Here's another thing to try. I got this solution from Brian Adkins, a well-known guru, from the archives at
http://www.ptcuser.org/exploder/pro-user/200302/msg00083.html
The start-up script for Pro/E:
c

rogram Filesproe2001binproe2001-stu.bat
could not determine either the machine type or operating system properly.
This could be due the fact that the user was running XP-home on a pentium-4.
Solution:
add the following line to the start-up script AFTER all of the processor and
OS checks, and BEFORE the MC variable gets used:
set MC=i486_nt
So this would be a snippit of your start-up script:
------------------------------------------------
if %PROCESSOR_ARCHITECTURE% == MIPS set MC=r4000_nt
if %PROCESSOR_ARCHITECTURE% == ALPHA set MC=alpha_nt
if not %winbootdir% == set mc=i486_win95
if not %MC% == unset goto mc_done
echo ERROR Cannot detect what machine type you have.
echo Please make one of the following settings:
echo.
echo set PROCESSOR=Alpha_AXP - For Windows NT Alpha based machines.
echo.
echo set PROCESSOR=MIPS_R4000 - For Windows NT MIPS based machines.
echo.
echo set PROCESSOR=INTEL_486 - For Windows NT Intel based machines.
echo.
echo set winbootdir=<boot dir> - For Windows 95/98 machines.
echo.
exit
:mc_done
set MC=i486_nt
if NOT %mc% == i486_win95 goto postenv4096
if %env4096% == true goto postenv4096
set env4096=true
command.com /E:4096 /C %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
------------------------------------------------
I found that adding this line to the script solved the start-up problem, but
you could just as easily set an environment variable that would allow the
script to identify the machine.
BTW, It turns out that the original claim of the users that Pro/E was
starting up, but not working was incorrect. Pro/E was bombing out half-way
through the start-up script.