Creating An Installer Fails

I hope this is the correct forum for this question. Before I started creating my game with Panda3D, I made an installer with one of the sample programs that came with Panda3D. This worked fine. Now I am trying to create an installer for the my game so far and I keep getting an error and cannot figure out what is going on. Any ideas what could be causing this error?

The part of the error that seems most relevant:

packing...
File: "C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_P
oenixTown\Panda3DEngine\panda3d-1.5.4\built\bin\Microsoft.VC80.CRT.manifest" ->
no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in script "C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\
esnaubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4\direct\src\directscripts\packpa
da.nsi" on line 93 -- aborting creation process

More of the error in case it gives more information:

C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_PhoenixT
wn\Panda3DEngine\panda3d-1.5.4\thirdparty\win-nsis\makensis.exe /V2 /DCOMPRESSO
="lzma" /DNAME="PhoenixTown" /DSMDIRECTORY="PhoenixTown" /DINSTALLDIR="C:\Phoen
xTown" /DOUTFILE="C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTown.exe" /DLI
ENSE="C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_Ph
enixTown\Panda3DEngine\panda3d-1.5.4\built\LICENSE" /DLANGUAGE="English" /DRUNT
XT="Play PhoenixTown" /DIBITMAP="C:\Users\Brett\School\TC498\PhoenixTown\Phoeni
TownRepository\lesnaubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4\thirdparty\win-
sis\Contrib\Graphics\Wizard\nsis.bmp" /DUBITMAP="C:\Users\Brett\School\TC498\Ph
enixTown\PhoenixTownRepository\lesnaubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4
thirdparty\win-nsis\Contrib\Graphics\Wizard\nsis.bmp" /DPANDA="C:\Users\Brett\S
hool\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_PhoenixTown\Panda3DEngine
panda3d-1.5.4\built" /DPANDACONF="C:\Users\Brett\School\TC498\PhoenixTown\packp
nda-TMP\etc" /DPSOURCE="C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepo
itory\lesnaubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4" /DPPGAME="C:\Users\Bret
\School\TC498\PhoenixTown\packpanda-TMP\game" /DPPMAIN="main.py" /DPPICON="bin\
python.exe" "C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesn
ubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4\direct\src\directscripts\packpanda.
si"
packing...
File: "C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_P
oenixTown\Panda3DEngine\panda3d-1.5.4\built\bin\Microsoft.VC80.CRT.manifest" ->
no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in script "C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\
esnaubr_PhoenixTown\Panda3DEngine\panda3d-1.5.4\direct\src\directscripts\packpa
da.nsi" on line 93 -- aborting creation process

Hmm. What happens if you create this file (just make it empty):

C:\Users\Brett\School\TC498\PhoenixTown\PhoenixTownRepository\lesnaubr_P
oenixTown\Panda3DEngine\panda3d-1.5.4\built\bin\Microsoft.VC80.CRT.manifest

Just wondering, did you build Panda3D yourself, from scratch?

Yes. I did build Panda3D from scratch. Do I possibly need to build it with a different optimization level? I used an optimization of 3 and I built it from within Visual Studio 2008 by the way.

If you built panda yourself, you should run makepanda with the --installer option and install the resulting .exe file, which should guarantee that all the files are in the correct place.
Packpanda isn’t really designed to work in another way.

Currently I have Panda3D built with --optimize 3. Is that alright? Also, since the engine was already built without the --installer option, do I have to delete the built engine or can I just build it again with the --installer option and makepanda can make sure everything is rebuilt the correct way?

I recompiled it with the --installer option and the same exact error I listed above comes up. The error occurs when compiling the engine. I didn’t even get to a point where I can install the engine from what I compile.

Ah, you used VC9. Yes, the optimize level of 3 is good (the downloadable binaries are also compiled with optimize level 3.)

You don’t have to delete “built” to run with --installer, you can run it with --installer after the compile process has completed too. When makepanda needs to recompile, its smart enough to do so by itself.

Do you actually have the file built/bin/Microsoft.VC90.CRT.manifest ?
You need to change the direct/src/directscripts/packpanda.nsi, find this line:

        File /r "${PANDA}\bin\Microsoft.VC80.CRT.manifest"

Replace it with this:

        File /r "${PANDA}\bin\Microsoft.VC90.CRT.manifest"

(changing the VC80 to VC90, or if you don’t have that file either, change it to whatever you do have there.

I do have the V90 file. I changed the line you mentioned in packpanda.nsi and now I am waiting for compilation to finish. I will let you know if it succeeds.

EDIT: It seems to be working fine now. Thank you very much.