I got a big problem everytime i deploy my program on another machine error appear when open crystal report
and it says Failed to open Connection

Have you hard coded the connection string in the app but the path doesn't existon the target machine?

Hericles his answer is good, it looks if you hardcoded the connection string.
If the link contains a map you can replace it with this.:

System.Windows.Forms.Application.StartupPath + "\filename"

Then the program looks always into its own path and it dos'nt matter on which computer you place it.

i use DNS connection not hardcoded

if you catch the error between try-catch what is the total error message then?
If you do that there must be more info in the messagebox as what you tell us.