It is indeed a must to register Crystal Reports to deploy and package things properly because you need to add a certain registration code before you can package things properly.
If you dont add that code and still deploy things youll get some error about a keycode not being correct and wont be able to view your reports.
For complete instructions on how to package CRs check out this pdf file on the Crystal Decisions site:
crnet_deployment.pdf
Beware as well that if youve used any patches for the CR-dlls that youll need to run those patches as well after installing your application elsewhere.
The merge modules you need for deployment (youll read about them in the pdf-file) dont deploy the patched versions of your dlls, but instead deploy a version thats baked into the merge modules themselves, so youll always be stuck with older dll-versions.
Ive just had a whole e-mail discussion with 2 ppl from Crystal Decisions about this problem with outdated dlls getting packaged and theyre looking into getting this fixed properly (i.e. having the patch also update the merge modules .... dont even think about downloading new merge modules to fix this "outdated dlls" problem, theyre not available *sigh*), but I think it might be a while before it actually is.
Also, if youve installed your application plus a dll-patch and things still arent working as they should, download the latest version of the patch and try installing that.
On pcs running just the .NET Framework instead of the entire VS.NET design environment, the older patches may be incapable of registering the new/patched dlls so that even if you think youre using the new ones youre actually still using the old ones in your installed application.
(In win2000 Pro you can easily check which version is registered by going to C:\WINNT\assembly, right-clicking on the dll you want, selecting "properties" and going to the "Version" tab and check if the version mentioned there is the same as the version of your physicall dll-file.)
And on a last note ... when installing the patch its best to be logged in while having administrator rights (at least in win2000 Pro it is).
If youre not logged in with those rights it might be that even the newer updated patches cant register the new/patched dlls.
That in a nutshell is 2 weeks worth of testing, trial and error and almost daily communications with Crystal Decisions.
Maybe this will spare someone my recent frustrations on deploying CRs for .NET.