2

VS2010 および .Net Framework 4.0 で開発された Windows アプリケーションがあります。アプリケーションで Crystal レポートを使用しました。

次のリンクに従って、Crystal Report ランタイムと必要なビジュアル C++ 依存関係を含めてインストーラを作成する必要があります: http://wiki.sdn.sap.com/wiki/display/BOBJ/Using+Crystal+Reports+for+Visual +Studio+2010+Merge+Modules+(MSM)+to+create+a+Setup+project

これまでの取り組みの一環として、以下の 2 つのソリューションを試しました。ただし、インストーラーを使用してターゲット マシンにアプリケーションをインストールすると、エラーが発生します。

最初の解決策には、次のマージ モジュール ファイルをインストーラーの一部として使用することが含まれていました (上記のリンクを参照 )




2 つ目は、次のマージ モジュール ファイルをインストーラーの一部として使用することです (このサイトによると: http://csharp.net-informations.com/crystal-reports/csharp-crystal-merge-module.htm ):
1. CRRuntime_12_3。 msm
2. CrystalReportsRedist2005_x86.msm
3. Microsoft_VC80_ATL_x86.msm
4. policy_8_0_Microsoft_VC80_ATL_x86.msm

トラブルシューティングの手順として、ビジュアル C++ 依存関係をターゲット マシンにインストールし、Crystal Report ランタイム ファイル (CRRuntime_12_3.msm) だけでアプリケーションをインストールしようとしました。これも失敗でした。

これまでに受け取ったすべてのエラーは本質的に類似しており、dll (querypanel.dll、crtslv.dll) を登録できませんでしたというメッセージが表示されます。

ターゲット マシンには、OS として Windows 7 がインストールされており、以下がインストールされています。

これを解決するための助けをいただければ幸いです。

4

1 に答える 1

2

これに対する2つの回避策を見つけました。同じ問題に遭遇した他の人のために、それらを説明します。

最初のソリューションでは、2 つのインストーラーを作成する必要があります。C++ の依存関係をインストールするもの。このインストーラーには、C++ マージ モジュールのみが含まれている必要があります。

  1. Microsoft_VC80_ATL_x86.msm
  2. Microsoft_VC80_CRT_x86.msm
  3. Microsoft_VC80_MFC_x86.msm
  4. Microsoft_VC80_MFCLOC_x86.msm
  5. Microsoft_VC80_OpenMP_x86.msm

検出された依存関係に、以下のポリシー ファイルが追加されていることを確認する必要があります。これらのポリシー ファイルは、C:\Program Files (x86)\Common Files にあるマージ モジュール フォルダーで利用できるはずです。ポリシー ファイルが追加されていることを確認するには、検出された依存関係フォルダーを更新する必要があります。

  1. policy_8_0_Microsoft_VC80_ATL_x86
  2. policy_8_0_Microsoft_VC80_CRT_x86
  3. policy_8_0_Microsoft_VC80_MFC_x86
  4. policy_8_0_Microsoft_VC80_MFCLOC_x86
  5. policy_8_0_Microsoft_VC80_OpenMP_x86

次に、アプリケーション出力と Crystal Report ランタイム マージ モジュール ieCRRuntime_12_3.msm を含む 2 つ目のインストーラを作成する必要があります。

これらのインストーラーを順番に実行してビンゴすると、アプリケーションの Crystal レポートが期待どおりに動作するはずです。

2 番目の解決策は、次の 2 つのコンポーネントをインストールして、C++ の依存関係を直接インストールすることです。

  1. Visual C++ 2005 SP1 再頒布可能パッケージ
  2. Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL セキュリティ アップデート

次に、アプリケーション出力と Crystal Report ランタイム マージ モジュールを含む上記で作成した 2 番目のインストーラーを実行すると、すべて正常に動作するはずです。

32 ビットの Crystal レポート ランタイムを使用して 32 ビット アプリケーションを構築したと仮定すると、64 ビット OS の場合、ターゲット システムの構成を扱う別の問題が発生する可能性があります。その場合、構成設定をいじって、アプリケーションが 32 ビット アプリケーションとしてのみインストールされることを確認する必要があります。そうしないと、次のようなエラーが表示されます: Crystal Reports レジストリ キーのアクセス許可が不十分であるか、または.......

于 2013-06-04T06:50:16.127 に答える