2010-03-09 3 views
2

Utilisation de vs2008 C#. Howdy, J'ai une application où j'essaie de décider si je devrais utiliser les rapports Crystal ou la visionneuse de rapports fournie avec Visual Studio. Mon problème est que bien qu'il fonctionnera correctement sur ma machine de développement, un grand nombre de machines sur lesquelles l'application sera déployée dans des endroits distants n'auront pas la durée d'exécution pour les rapports Crystal ou la visionneuse de rapports installée.Question d'exécution Crystal Reports et Report Viewer

donc si je construis une application en utilisant l'un de ceux-ci, et empêcher l'accès des utilisateurs aux rapports seulement sur les machines qui n'ont pas les temps d'exécution, l'application peut-elle fonctionner correctement ou

Un conseil apprécié.

Répondre

2

Vous pouvez réellement inclure l'exécution de Crystal Reports sur votre package de déploiement, qu'il s'agisse de Deployment Project ou de ClickOnce. Pendant l'exécution, vous pouvez rencontrer une erreur que vous pouvez gérer sur votre instruction catch ou sur l'événement application_threadexception comme ceci:

private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) 
    { 
     //For missing crystal reports assembly 
     if ((e.Exception is System.IO.FileNotFoundException) && (e.Exception.Message.IndexOf("CrystalDecisions.CrystalReports.Engine") > -1)) 
      MessageBox.Show("Crystal Reports is required to use this feature", "Crystal Reports", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
     } 
+0

D'accord. Un bon déploiement (par exemple via l'installateur) est le meilleur moyen de vaincre ces problèmes. –

+0

okay mais en supposant que je ne déploie pas l'exécution, et j'empêche les utilisateurs d'accéder aux rapports, pourrais-je m'attendre à l'exécution de l'application sans erreur? C'est ma question – Spooky2010