It took me a few hours to get Trine 1 working via Steam on Windows 7 64-bit. Here is a summary for those who find this post seeking help with the issue.
Symptoms:
Running Trine 1 via Steam client shows you the Trine launcher, but upon clicking the Launch button Trine 1 silently closes without an error. You may or may not see a command prompt window flicker open and close.
Diagnostics:
To diagnose the issue, run trine_launcher.exe outside of steam. This should give you more useful errors.
There is a log file located in \Steam\Steamapps\common\Trine\logs\log.txt
Solutions:
Error: “The program can’t start because PhysXLoader.dll is missing from your computer. Try reinstalling the program to fix the problem.”
Solution: You may have to install the latest NVIDIA PhysX System Software (aka PhysX SDK) from Nvidia.com . In addition, you may need to edit your system environment variable known as “path” to also include the location of your PhysX dlls. Steps: Computer > Properties >Advanced > Environment Variables > (System Variables) > path. To the string of locations in the system section “path” variable, add “C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;” (or wherever your PhysX installation is located).
Error: While attempting to install PhysX, “The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2738.”
Solution: This appears to be a problem with the windows registry. This Microsoft one-shot tool should fix it. Run the installation again.
Error: While attempting to install PhysX, “Installation ended prematurely because of an error.”
Solution: You may have to install the latest NVIDIA PhysX System Software (aka PhysX SDK) from Nvidia.com .
Error: Trine 1 crashes right after intro movie, and the log.txt reads “ERROR: PhysicsLib – Failed to create PhysX SDK”.
Solution: You may have to install the latest NVIDIA PhysX System Software (aka PhysX SDK) from Nvidia.com . Also, you may be getting this error if you have dragged some PhysX-related DLLs into your Trine folder rather than just using an environment variable as described above.
It’s working:
Trine 1 is working great for me now. Good luck to you.