runerror after installing new version 1.6.0


#9

Installed 1.6.0 on a machine having admin rights. Works fine here. The machine I had the problem on was a laptop running with restricted user rights.

I recently had another program that required the VC++ 2008 runtimes installed and it also gave me an error on the machine. My guess it is related.


#10

mmm… i have admin rights on the machine, and of course, i has installed panda with admin rights…

----------add-------------
I have just installed a panda on another computer and there all has works. It seems that the problem arises only on the laptops


#11

I’ve been checking the microsoft specs on the VC++ redistribution. Seems that alle the required files are there, so this cannot be the problem. However, I did found many differences in the manifest files of version 1.5.4 and 1.6.0.

My guess now is that somehow the behaviour of the manifest parsing is different on XP SP2 (the laptop where it failes to run) and XP SP3 (the desktop that runs OK).


#12

Run some additional tests on various other systems. On a deskopt XP SP2 I get the same error. On Windows Server 2003 no error. So my conclusion here is that it is a dependency problem. The VS2008 runtimes require additional runtimes not available in older windows installation and with restricted installation rights these will not be installed.


#13

Downloaded the new installer 1.6.1. Run PVIEW.EXE and it gave the same error. Then downloaded “dependency walker” and run it against PVIEW.EXE. It reported errors.

The first was a missing MSJAVA.DLL. That is easy fixed by adding the dll to the panda bin folder.

The second error is:
“The side-by-side configuration information for …\bin\LIBPANDA.DLL contains errors”, followed by the error code 14001 and the advide to reinstall the application.

I checked the internet on this and there are a lot of articles there about troubleshooting a VS2005 C++ application redistribution. I can only conclude that the xcopy deployment on windows is not working properly.


#14

I’m seeing this problem too on a brand-spanking-new HP desktop that came with XP SP2. It can’t load libpanda.dll in 1.6.1, but 1.5.4 works fine.

It’s failing on pandac\extension_native_helpers.py, line 73, when it tries to load libpanda.dll

I tried Windows Update, and I tried the VC++ redistributable. No luck.

Any other ideas?


#15

I figured it out!

I installed Microsoft .NET Framework 3.5 Service Pack 1.

The rest of you who were having this problem on certain computers should try this and report back.


#16

Tested both the 1.5.4 and 1.6.1 on a private desktop with WinXp, SP3. Both run fine. No sign of .Net 3.5 on this machine. So whatever it is, it isn’t the .Net framework. Though it is possible that installing .Net 3.5 fixes the manifest error reported by Dependency Walker.

I dit notice a WinSxS folder containing a lot of manifest files, including many VC++ files. My guess is that on this machine, a different dependency checker is already installed. Probably got it through the autoupdate from Microsoft. So the issue Dependency Walker reports on my laptop is no longer on this machine around.

If anyone else experiences problems like this, try to pinpoint the exact problem and check first with the Dependency Walker tool what it reports before installing .Net 3.5 or anything else to fix the issue.


#17

Tested it again on a desktop with XP, SP2 and no .Net 3.0 and .Net 3.5 framework.

No error on 1.5.4. Got the error on 1.6.1. Dependency Walker reports a side-by-side configuration read error on de libpanda.dll.

Installed .Net 3.5 fixes the problem and now Dependency Walker no longer reports the side-by-side configuration error on libpanda.dll.

However the test yesterday shows that .Net 3.5 isn’t needed, so my conclusion so far is that the libpanda.dll somehow is build differently than the other dll’s. Is it possible it is build for Vista only? Just an idea.


#18

Hmm. Are you able to find out what exactly is wrong with libpanda.dll?


#19

Can someone check if the problem still occurs with 1.6.2? It was built with .NET framework uninstalled, I believe.


#20

Same problem with 1.6.2
Used a fresh install of xp sp3, import error untill i installed .net 3.5


#21

Hi,

I’ve found out what exactly is wrong with the libpanda.dll. It references the old vc++ 2005 runtime files together with the new vc++ 2008 runtime files. You can see this by extracting the side-by-side configuration information. Thanks to the article of OJ about resolving side-by-side configuration issues (at buffered.io) I was able to do so. It’s actually suprisingly simple. The side-by-side configuration data is stored as a xml resource inside the dll. If you open the dll in any editor (text
or hex) that doesn’t choke on the binary you can search for “<assembly”. You then find the embedded xml data. For a properly working dll (I used libp3pystub.dll as a reference), you get the following xml:

Now for the old libpanda.dll from version 1.5.4, wich is working fine under windows xp, sp2, you get the following xml.

In both cases the requested depency is available on the system in the Panda\bin folder. Now for the new version of libpanda.dll (that is version 1.6.0, 1.6.1 and 1.6.2), when you extract the embedded side-by-side
configuration data, you get the following xml:

Note that suddenly there is a VC80.CRT dependency. But this dependency is not available on a clean machine running windows xp, sp2. Also the same dependency is referenced twice with different version numbers. I tried to copy the VC80.CRT manifest from the 1.5.4. version to the Panda\bin folder, including the msvc80 dll’s however this fails. Probably due to the fact that this is only the version 8.0.50727.762.

Upon scanning the MSDN library I came across an article about troubleshooting VC++ side-by-side distribution. In it was a user contribution that stated that the Visual Studio 2008 environment had a
bug that messes up the manifest configuration. You might check out that article.

Hope this provides enough info to solve the issue in the next release.
Looking forward to it.


#22

Hmm. I noticed this was still in the build options:

/NOD:MFC80.LIB

Along with the /NOD:MFC90.LIB reference. Maybe that could be what’s causing the dependency?

Then again I have no clue what it means, I don’t really have much experience on windows (proud linux user here).


#23

Hmmm…

Searched MSDN on this and found it after a few tries. What is happening here is that the /NOD option explicitly links in an import library, in this case the MFC80.LIB (or MFC90.LIB in case of the second example). You definitely need to drop the MFC80.LIB since it will cause a reference to the runtime version of the VC++ 2005 files.

The question that puzzles me is why it is needed to import the Microsoft Foundation Library at all? To my best knowledge you need them if you create a windows program with a windows gui.


#24

Having read posts, I have install vcredist_x86-sp1 which was in \bin from version 1.5.4 (It is 2005, and before I tried 2008 which hasn’t effect) - after that, 1.6.х began to work normally. )

Thanks )

(BTW 2005 without sp1 too does not work)


#25

Can anyone suffering from this problem maybe send me a Dependency Walker image (.dwi) file of the troubling dll or exe?


#26

Hi,

Pleased to see the issue hasn’t been forgotten. I have a .dwi and a jpg-dump of dependency walker displaying a big error box. How can I upload them to you?

:smiley:


#27

Please e-mail them to me, by clicking the “email” button below this post.


#28

For the record, after a lot of investigation I finally tracked down the cause of the problem.
I’ve just checked a fix to makepanda on CVS.