2013-05-09 27 views
5

La mia applicazione deve stampare un report Crystal Reports. Non mostra un'anteprima, prende solo due parametri e mostra una finestra di dialogo di stampa per impostare la stampante. Funziona correttamente sui computer su cui è installato Crystal Reports, ma non ho un modo per far sì che i client siano già installati.Crystal Reports nella distribuzione ClickOnce

Ho letto in vari punti che l'aggiunta del prerequisito di ClickOnce "Motore di runtime di SAP Crystal Reports per .NET Framework" consente alle librerie di Crystal Reports richieste di essere registrate sul client. Quando installa l'applicazione sul client, scarica il runtime e installa il runtime, ma l'applicazione non riesce a installare affermando che vari assembly CrystalDecisions e CrystalReports devono essere registrati in GAC.

Il primo è CrystalDecisions.ReportAppServer.CommonObjectModel. Se aggiungo un riferimento a questo nel progetto e ridistribuisco, allora fornisce semplicemente un altro messaggio su un altro assembly. L'ho fatto letteralmente per 15 volte e non ho mai avuto un'installazione senza interruzioni.

Cosa mi manca? Ho seguito this guide from the SAP website (zippato, 2,2   MB, contiene un file Microsoft Compiled HTML Help, crnet_dg_2010_en.chm).

risposta

7

Ho riscontrato questo problema: per le applicazioni Click-Once, è necessario scaricare e installare la versione a 32 bit di Crystal Reports Runtime sul client indipendentemente dallo dell'architettura del computer client. Ho finito per installare sia il 32-bit che il 64-bit usando gli MSI forniti sul sito di SAP per coprire tutte le basi e fare in modo che l'errore GAC scomparisse. Successivamente, tutto è andato per il meglio.

Download and install the MSIs (not the executable) from here

PER clic una volta DIFFUSIONE

Oltre a rendere SAP Crystal Reports Runtime un prerequisito, è necessario modificare il file product.xml sulla macchina di sviluppo. Questo file si trova in: {Program Files}\Microsoft SDKs\Windows\v*.0A\Bootstrapper\Packages\Crystal Reports for .NET Framework 4.0\

Trova la seguente riga e commentare fuori: <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>

Ora, ri-pubblicare la vostra soluzione e l'installazione dovrebbe installare entrambi i tempi di esecuzione su macchine a 64-bit.

+0

Grazie, questo mi ha sulla strada giusta! Ho scaricato quell'MSI e l'ho installato manualmente su un client di test. L'app ClickOnce è stata installata correttamente. Ora ho bisogno di MSI come prerequisito nella distribuzione di ClickOnce. Come posso configurarlo? – Ethan

+0

Ho contrassegnato questo come la risposta poiché l'installazione runtime a 32 bit ha fatto funzionare l'app. Tuttavia, ho ancora bisogno di capire un modo per far funzionare il pre-req ClickOnce. – Ethan

+1

L'ho capito perché ho avuto questo problema anche quando ho provato a fare Click One sul sito di un cliente. Aggiornerò la mia risposta, ora – Ally

1

Se la soluzione di cui sopra non ha funzionato provare questo,

  • entra nella tua proprietà del progetto.
  • Vai alla scheda Pubblica.
  • Fare clic sul pulsante File dell'applicazione.
  • Modificare lo stato di pubblicazione da Prerequisiti (automatico) per escludere qualsiasi file con CrystalDecisions o BusinessObjects nel nome.
  • Fare clic su OK
  • Ricreare l'applicazione, quindi ripubblicarla sul sito o condividere file da installare dai client.
-1

ho trovato in questa posizione:

C: \ Program Files (x86) \ SAP BusinessObjects \ BootStrapper \ Packages \ Crystal Reports per .NET Framework 4.0

C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ SDK \ Bootstrapper \ Packages

Problemi correlati