Making an exe redist package


#1

Hello,

I am using windows xp, panda3D-1.7.2 and have been trying to learn how to package a very simple game into a redistributable exe using the packpanda utility.

I get the error:

packing…
File: “C:\Panda3D-1.7.2\LICENSE” -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec […]] filespec […] |
/oname=outfile one_file_only)
Error in script “C:\Panda3D-1.7.2\direct\directscripts\packpanda.nsi” on line 90 – aborting creation process

Even though the manual states that a license file is not necessary, I did include an empty .txt file called “license.txt”. (The content of the file just has the word “license” inside, I thought I would use this as a dummy file).

Any idea what this error could mean?

Is packpanda the best way to create a redistributable exe package? (I read on the forum in an old thread that packpanda is deprecated? In the same thread it was recommended to use pdeploy instead?)

Any advice is sincerely appreciated, thanks in advance.

Tony


#2

The file should be called “LICENSE”, not “license.txt”.

Anyhow, packpanda is deprecated. You are advised to use pdeploy instead.

panda3d.org/manual/index.ph … _installer


#3

Thanks for the help and quick reply.

Tony


#4

I changed my “license.txt” file to “LICENSE” and did another run with packpanda and it all worked.

Then trying to use PDeploy as described in the manual (linked above) I get this error:

File “VFSImporter”, line 153, in load_module
File “C:\buildslave\release_rtdist_win32\build\panda3d\built_cmu\pandac\PandaModules.py”, line 32, in
File “VFSImporter”, line 153, in load_module
File “C:\buildslave\release_rtdist_win32\build\panda3d\built_cmu\pandac\libp3visionModules.py”, line 2, in
File “C:\buildslave\release_rtdist_win32\build\panda3d\built_cmu\pandac\extension_native_helpers.py”, line 79, in Dtool_PreloadDLL
ImportError: DLL load failed: The specified procedure could not be found.
Failure on startup.

I’m just starting out with Panda3D, learning.
Any advice is greatly appreciated.

Thanks again for any help.

Tony


#5

[* A Note to Beginners: This is the first step in a process which uses pdeploy to create a redistributable .exe package. First you use packp3d to create your .p3d file and then use pdeploy to create the .exe as described here: code4all.nl/dokuwiki/creatin … d_binaries ]

Solved. I had been trying to run packp3d.exe file directly from the Panda3D-1.7.2\bin directory-- that doesn’t work.

Instead I ran the packp3d from within the runtime folder residing at: C:\Program Files\Panda3D.

That directory (C:\Program Files\Panda3D) contains the Panda3D runtime, which is not included with the Panda3D SDK. The Panda3D Runtime is a separate download, and on windows is normally installed at: C:\Program Files\Panda3D.

In Command Prompt running packp3d looks like this:

C:\Program Files\Panda3D>packp3d -o NAME OF YOUR GAME.p3d -d C:\panda3d-1.7.2\FOLDER OF YOUR GAME
:AppRunner: Total Panda3D disk space used: 112 MB
:AppRunner: Configured max usage is: 2048 MB
:AppRunner: Freshening runtime.panda3d.org/panda3d/cmu … import.xml
:downloader: GET [ runtime.panda3d.org/panda3d/cmu … import.xml ]
There are some missing modules: [‘pygame’, ‘pyo’]
Generating myGameApp.p3d

(I’m just documenting it here in case other beginners need help on this.)

If there are any boo-boo’s please let me know and I will edit. (Apparently I’m missing a couple of modules in my game folder…)

Thanks again.
Tony


#6

Now I just have to figure out how to add an external module to packp3d.

I would like to include the pyo digital signal processing module: code.google.com/p/pyo/
in my .p3d file.

PackP3D does locate Pygame using the -r command like this: packp3d -o mygameApp.p3d -d c:\panda3d-1.7.2\mygameAppFolder -r pygame -r pyo

But when I try to include pyo using the -r command I get: Unknown package pyo, version “”

Thanks again,
Tony


#7

I am trying to learn how to add an external 3rd party module using packp3d, the pyo digital audio processing module as stated above.

Would I have to do what is described here:
panda3d.org/forum/viewtopic.php?t=11688

How could I proceed?
(The 3rd party module I wish to use is located:

code.google.com/p/pyo/ )

Thanks again,
Tony


#8

Hi, it looks like the section III.F (specifically, the section III.F.4: “Building and hosting your own packages”) of the manual is what you are looking for.


#9

Thanks very much for the info, I will look into this.

TonyA


#10

I have been experimenting with packp3d, ppack, pdeploy and packpanda.

Packpanda is the only one I was able to get working. I wonder why it is deprecated?

Do people still use it regardless? Are there any unforeseen problems with using it?

Are there any other utilities (3rd party, etc.) for doing what packpanda does in a very simple way for beginners like me?

TonyA


#11

I can think of two 3rd-party projects that do what packpanda does:


#12

Hi all,

I’m having trouble using my dll (imported in Python using ctype).

I’ve used packp3d with :

packp3d -o pandagame.p3d -d deploy -r models -n dll -n pyd

The dll is packed but the .p3d crash immediately after lunch… no error are shown.
I’ve read similar posts but I can’t understand how to make it works.

Tnx

Renato


#13

I tried both, PyInstaller works very well.

Thanks,
TonyA