Panda Windows installer hosing system PATH

The Panda Windows installer totally hosed the system path for me on my Windows XP SP3 system. It replaced the system path with only the two Panda paths.

I have seen some other installer do this in the path; it turned out to be caused by improper handling of SZ_EXPAND vs regular string properties in the registry, if I remember correctly. However, given the painful experience I had, I suggest whomever maintains the Windows installer look into the issue. (Another possibility: my system path env variable was named PATH but after installation of Panda, it’s now named Path, which I think is non-standard)

While on this topic: what installer maker are you using?

Panda3D uses NSIS to create the installer.
This bug has been reported before:

It only seems to fail under certain circumstances, we’re just not sure when it fails. Looking at the source code panda3d should be appending to the path rather than replacing, and for most users this just works.

That’s your problem right there. NSIS was great back in the Windows 98 days, but is really showing its age for Xp and especially Vista installs. These days, though, all the cool kids use WiX.

If you look at the code that “should” append the path, then clearly there is some failure case there. I don’t know if you’re talking about the NSIS source, or the actual NSIS code. If you’re just telling NSIS to do it, then there might be a bug in NSIS (not impossible, given that this bug has happened to me about a year ago from some other installer).

Having your system PATH clobbered is clearly a very bad thing to happen to a machine – a less command-line savvy user might need to re-install the OS and all applications to recover!

But, anyway, use WiX. It generates highly compatible MSI installers, and is open source, well maintained, and because a bunch of MS groups use it, it tends to be low on bad bugs like this. The only draw-back is having to learn the WiX schema.

Maybe this is a vista problem. I just recentely installled panda 1.5.2 and had not problems but that was a couple of months ago. AND I am using windowsXP sp 3.

No; my problem (both with the other program, a while back, and with Panda 1.5.3) is on Windows XP (SP 2 back then, SP 3 now).

I recall that the work-around, back then, had to do with the difference between different registry key types (SZ_EXPAND vs SZ_STRING or something like that). I think the installer tried to get the path of type SZ_STRING, and when that failed, assumed the path was empty, and overwrote its own path. You have to try for several of the string types to properly retrieve the system path environment variable (or, really, any environment variable). I also don’t think NSIS does the right thing here (whereas I think WiX does :slight_smile:

Would any of you be willing to port panda to use WiX?