Nein. Es besteht eine Menge Verwirrung über ClickOnce und Voraussetzungen.
ClickOnce tut nichts mit prereqs. Nichts. ClickOnce kopiert Dateien von einem Server auf den Computer eines Clients und hält diese Dateien synchron, wenn die Serverdateien aktualisiert werden - das ist es. Es kann keine Dinge in den GAC setzen, DLLs registrieren, MSI-Dateien usw. installieren.
Wo die Verwirrung entsteht, wenn Sie mit Visual Studio bereitstellen. VS macht mehrere Dinge für Sie, wenn Sie veröffentlichen, die wirklich nichts mit ClickOnce zu tun haben. Zum einen erstellt es eine nette HTML-Seite für Sie mit einigen Links zu Ihrer Bereitstellung. Außerdem können Sie aus mehreren Voraussetzungen auswählen und eine Bootstrapper-Exe für Sie erstellen. Ich gehe davon aus, dass Sie dies für die Installation von Crystal Reports getan haben. Der Bootstrapper ist nur eine einfache Möglichkeit, mehrere Voraussetzungen zu verwalten. Anstatt Ihrem Benutzer zu sagen, dass er X, dann Y, dann Z vor der Installation Ihrer App installieren soll, macht der Bootstrapper diese drei Installationen "nahtlos", so dass sie wie eine große Installation erscheinen. Es kann auch Prereq-Installationen überspringen, wenn der Benutzer es bereits hat.
Wenn Sie auf Ihre HTML-Seite achten, die VS generiert, können Sie zwei Links sehen. Eine für Ihre .application-Datei (die ClickOnce-Bereitstellung) und eine für die Bootstrapper-EXE. Sie sind dem Benutzer ziemlich ausgeliefert und müssen sich darauf verlassen, dass sie die Seite lesen und bei Bedarf den Bootstrapper ausführen. Die einzige Ausnahme ist das .Net Framework, da die HTML-Seite dies über die UserAgent-Zeichenfolge überprüfen kann.
Wenn sie nicht den Bootstrapper ausführen, werden sie Fehler erhalten, die denen ähneln, nach denen Sie fragen.
Eine mögliche Lösung besteht darin, Code zu schreiben, um zu überprüfen, ob es installiert ist. Es könnte die Registrierung oder den Ordner "Programme" überprüfen; was auch immer Sie tun müssen, um sicherzustellen, dass es installiert ist. Dann beenden Sie es elegant und informieren Sie den Benutzer, wenn sie es nicht haben. Das funktioniert so lange, wie Sie die Überprüfung durchführen, bevor Sie versuchen, die Crystal-Baugruppen zu laden und zu verwenden.
Viel Glück! Bitte antworten Sie, wenn Sie eine bessere Lösung finden.
Haben Sie Crystal Reports als Teil der Voraussetzungen in Ihren ClickOnce-Veröffentlichungseinstellungen aufgenommen? –