thuongbat đã viết:Để chạy được reportviewer, ngoài 2 file DLL nói trên, bạn cần phải copy thêm file Microsoft.ReportViewer.ProcessingObjectModel.dll sang máy khách thì nó mới chạy được.
Có 2 cách để xử lý như sau:
1. Cách 1: Cài đặt ReportViewer trên máy khách
Bạn copy file Reportviewer.exe ở thư mục
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\ReportViewer trên máy của bạn (Có thể phải tìm trong Program Files(x86) với máy cài win64bit) sang máy khách. Sau đó chạy file này để cài đặt. Sau đó có thể chạy chương trình bình thường.
- ưu điểm:
+ đơn giản, dễ làm
+ chỉ cần cài 1 lần là tất cả các chương trình khác có sử dụng reportviewer đều chạy được
+ không cần copy 2 file DLL như bạn đã nói ở trên theo nữa
- Nhược điểm: bạn cần có quyền admin của máy khách để cài reportviewer.exe vì nó sẽ cài 1 số DLL vào GAC
2. Cách 2: copy các DLL cần thiết vào thư mục chạy chương trình của bạn (bao gồm 2 file bạn đã nói ở trên) và file
Microsoft.ReportViewer.ProcessingObjectModel.dllBạn có thể lấy file Microsoft.ReportViewer.ProcessingObjectModel.dll theo cách sau:
+ Lấy file Reportviewer.exe trên máy của bạn (xem cách 1 để biết vị trí của file này ở đâu)
+ Dùng một chương trình giải nén (Winrar, Winzip, 7zip - mình đã kiểm tra thành công với 7zip, còn các chương trình khác chưa kiểm tra

) giải nén file exe này ra
+ trong các file đã giải nén được có file
reportviewer_redist2010core.cab, tiếp tục giải nén file này ra
+ trong các file giải nén được ở lần 2, có file
FL_Microsoft_ReportViewer_ProcessingObject_125592_125592_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8. Bạn đổi tên file này thành Microsoft.ReportViewer.ProcessingObjectModel.dll và copy vào thư mục chạy chương trình của bạn
- Ưu điểm:
+ không phải cài reportviewer thủ công trên máy khách
- nhược điểm:
+ cách làm hơi loằng ngoằng 1 chút
+ nếu nhiều chương trình cùng sử dụng reportviewer theo cách này thì trên máy khách sẽ có nhiều file DLL giống nhau => tốn ổ cứng 1 tí