2009-11-08 8 views
5

Ich glaube, die herkömmliche Methode zur Bereitstellung von Crystal Report mit einem .NET-Programm besteht darin, es als Voraussetzung in den Veröffentlichungseinstellungen festzulegen, und dann eine .msi-Datei mit der ClickOnce-Dateien im Web/Netzwerk/CD/Wtv. Wenn der Benutzer setup.exe ausführt, überprüft er, ob Crystal Report sich auf dem Clientcomputer befindet. Wenn nicht, wird der Crystal Report .msi ausgeführt. Aber das erfordert immer Administratorrechte.Bereitstellen von Crystal Reports-DLLs nur mit ClickOnce ohne Verwendung der Voraussetzung .msi

Meine Frage ist, ist es möglich, Crystal Reports-DLLs zusammen mit anderen Ausgabebaugruppen der Anwendung zu packen, so dass keine explizite Installation erforderlich ist? Meine Anwendung verwendet viele viele Komponenten und einschließlich einer DLL mit der Installation ist für die meisten von ihnen ausreichend. Kann ich dasselbe mit Crystal Report tun?

+0

hi, ich habe das gleiche Problem, haben Sie jemals einen Weg gefunden, dies zu tun? – matao

Antwort

2

Wenn Sie selbst damit fertig sind, können Sie die Installation der Crystal Reports-Laufzeitumgebung überwachen, um zu sehen, welche Dateien/Registrierungseinträge/Einstellungen erstellt/geändert werden. Alternativ können Sie die MSI dekompilieren oder die MST-Transformationsdatei von Crystal Reports herunterladen und dekompilieren. Sobald Sie wissen, was es tut, schreiben Sie etwas, um es selbst zu tun.

4

Ich hasse es, der Überbringer schlechter Nachrichten zu sein, aber Crystal Reports für Visual Studio .NET ist nicht für die einmalige Bereitstellung konzipiert. Crystal Reports ist eine native Anwendung, und die Assemblys, mit denen Sie den Bericht bearbeiten, hängen von vielen Nicht-.NET-Bibliotheken ab.

Viele COM-Objekte, die Registrierung erfordern, unterstützen DLLs, die installiert werden müssen ... Lizenzierungsinformationen, die irgendwo platziert werden müssen (Crystal Reports war schon immer ein großer Lizenzgeber).

Wenn Ihre Anwendung vollständig vertrauenswürdig ausgeführt wird, können Sie theoretisch die Installation der Crystal Reports für .NET-Laufzeit überwachen und in C# duplizieren, aber das ist eine Menge Arbeit und bestenfalls unzuverlässig.

Leider ist die endgültige Antwort, die Sie nicht können.

Sie können Active Reports oder einige der anderen reinen .NET-Berichtslösungen ausprobieren.

+0

Danke für die Antwort. Ich frage mich nur. Meine Anwendung stellt derzeit eine Reihe von DLLs über ClickOnce bereit. Die meisten von ihnen sind nicht zu hübsch. Viel COM-Zeug, einige davon ziemlich schwer. Alles andere scheint gut zu funktionieren, außer Crystal Report. 3 meiner anderen Produkte von Drittanbietern erfordern ebenfalls eine Lizenzierung (DotNetBar, DevXpress und FarPoint). Kann ich theoretisch dasselbe mit Crystal Reports tun und ClickOnce über dlls ausführen lassen? – xster

0

Ich bin mir fast sicher, dass es ein verteilbares Paket von Bibliotheken gibt, die mit der endgültigen Version von Crystal Reports geliefert werden, wenn Sie es kaufen (nicht sicher, ob dieses Paket mit der Visual Studio-Version geliefert wird).

+0

Hallo, aber ich denke, das Redistributable ist eine .msi, die Admin-Rechte benötigt, um zu installieren. Meine Absicht ist es, den Benutzer meine Software über ein ClickOnce-Paket erhalten und installieren Sie alle erforderlichen lokal ohne einen Admin – xster

+0

@Xster - "ohne Admin" bedeutet, dass Ihre ClickOnce App ist ** sehr eingeschränkt, was es kann und kann nicht (z. B. Netzwerkzugriff, Dateizugriff). –

0

Ich würde einen separaten Link zum Crystal Redistributable auf der Installationswebsite bereitstellen und in der ClickOnce App ein Häkchen für das Vorhandensein der Crystal-Dateien erstellen.

Verwandte Themen