4

Click-Onceを使用してVS20031.1WindowsフォームアプリをVS2010に更新すると、アプリで使用されているCrystalレポートのバージョンもアップグレードする必要がありました。

ユーザーにローカル管理者がいる場合は、すべてが完全に機能します。残念ながら、ほとんどのユーザーは非常にロックダウンされており、何もインストールできません。これは、CR13バイナリのインストールに問題があります。クリックワンス設定で、すべてのCrystalDecisions。* dllをインクルード/必須としてマークしましたが、展開フォルダーに公開されていないため、他のサードパーティライブラリを使用するユーザーのマシンにコピーされません。これは、アプリが正常に起動することを意味しますが、ユーザーがレポートを実行しようとするとすぐに、次のエラーが発生します。

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'CrystalDecisions.Windows.Forms, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
File name: 'CrystalDecisions.Windows.Forms, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304'

Include / Requiredとしてマークされていても、このファイルはデプロイされていません。すべてのユーザーを追跡して手動でインストールする必要はありません(グループポリシープッシュを実行するオプションはありません)。使用するCrystaldllは4つあります。

  • CrystalDecisions.CrystalReports.Engine
  • CrystalDecisions.ReportSource
  • CrystalDecisions.Shared
  • CrystalDecisions.Windows.Forms

これらのうち、実際に展開されているのはエンジンのみです。クリックワンスが他のもの(特にWindowsフォームdll)を展開しない理由と、それを説得する方法を誰かが知っていますか?

ありがとう!

編集:Crystal dllへの既存の参照を削除しようとしました(「C:\ ProgramFiles \ SAP BusinessObjects \ Crystal Reports for .NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86 \ dotnet」の下にあるCrystalインストールを指していました)。それらをプロジェクトにコピーし、[参照]タブから追加しますが、まだ展開されていません:(展開すべきではないことを示すフラグが設定されているようです。そのため、ビジュアルスタジオはそれらを無視しますか?

4

1 に答える 1

3

私は、PDFドキュメントの生成にCrystalReportsエンジンも使用する主要なClickOnceプロジェクトを管理しています。

あなたがやろうとしていることは、技術的には、CrystalReportsの利用規約に反していると思います。代わりに、前提条件として、ユーザーに配布可能なCrystalReportsランタイムの最新バージョンをインストールしてもらう必要があります。はい、これは非常に不便であることを理解していますが、この問題の唯一の解決策です。

ClickOnce前提条件を使用してCRランタイムをインストールしようとしていましたか、それともアプリにインストーラーをバンドルしようとしていましたか?このページで入手できる最新のClickOnceインストールパッケージをSAPサイトから使用することをお勧めします。間違っている可能性がありますが、前提条件としてClickOnce自動インストーラーを使用してランタイムをインストールすると、ユーザーは管理者権限なしでランタイムをインストールできる可能性があると思います。

私の経験から、ユーザーのアプリケーションに複数の前提条件をインストールする必要がある堅牢なアプリケーションを展開する場合は、管理者権限を持つ誰かが前提条件をインストールする必要があります。これは必ずしも要件ではありませんが、将来的には多くの頭痛の種を減らすことができます。

于 2011-06-23T15:27:07.497 に答える