I think there is a little confusion on what an embedded report is. When
you create a Windows application with a Crystal Reports, it embeds the
report binary into the application and create a class that represents
the report. You can then declare a variable of this class name,
instantiate it, and assign it to the viewer.
However, looking at your code I see that you are using the Load()
method and referencing the report via its fully qualified filename.
This is the non-embedded method of loading a report. (As a side note,
this is the only way of loading a report that is supported by ASP.NET).
However, Windows apps do allow it.
So if you want to use the report class, declare and instantiate a
report object and use it. Then you don't have to worry about your
setup.exe file. On the other hand, if you want to call the Load()
method, then you need to manually add the report to your setup project
and specify the location to install it.
If you are new to Crystal Reports, I have complete coverage with sample code of using embedded and non-embedded reports in my books. You can find out more about my books at
Amazon.com
or reading the
Crystal
Reports eBooks online.