on 12-08-2009 3:32 AM
Crystal Report初心者です。
Visual Studio 2008 ProバンドルのCrystal Reportで開発したASP.netアプリをIISサーバーに発行したところ、Crystal Report Viewerのアイコン(印刷ボタンや、ファイル出力ボタン等)がすべて[×]印になってしまいます。動作もおかしいです。(ページ切り替えはOK、印刷ボタンは単にリロードするのみ...等)
開発マシン:
・WinXP Pro
・Visual Studio 2008 Pro
Web/APサーバー:
・Win2003 Server
・IIS 6.0
・.NET Framework 2.0
・ランタイムとしてCRRedist2008_x86.msiをインストール済
HTMLを解析したところ、src=xxxxxの場所には確かにアイコンが存在します。
例)this.src='/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4/images/toolbar/export_over.gif'"
根本的に配布方法を間違えているのでしょうか?
よろしくお願いいたします。
Edited by: TENDA1 on Dec 8, 2009 4:55 AM
すみません。まだ解決していませんでした。
ローカルマシンで検証したところ、同じ現象が発生したのでPermissionの問題かと思われたのですが、それだけではありませんでした。どうやらパスの問題のようです。
ランタイム(CRRedist2008_x86.msi)がインストールされている物理的な場所はこちらです。
D:/inetpub/wwwroot/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4
Crystal Report Viewerのアイコンが[X]印になってしまうページのHTMLはココを指しています。
this.src='/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4/images/toolbar/export_over.gif'"
HTMLはIISのホームディレクトリからの相対パスでリソースにアクセスするようになっているのですが、どうやらIISのホームディレクトリが「D:/inetpub/wwwroot」以外に変更されているらしいです。(すみません。らしいと言うのは海外設置サーバーでこちらからコンソールが見れないセキュリティポリシーになっているのであくまでも仮説です)
試しにホームディレクトリを変更したら再現できました。
そこでお聞きしたいのですが、Crystal Reports Basic for Visual Studio .NET 2008 (CRRedist2008_x86.msi)のインストール先を変更することは可能でしょうか?
IISのホームディレトリを変更しても必ず[IISルートフォルダ/wwwroot]にしかインストールされないようです。
例)D:/inetpub/wwwroot/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4
しかもインストーラがサイレントインストールなのでインストール先を選びようがありません。
なにかコマンドラインのオプションとかがあるのでしょうか?
よろしくお願いいたします。
Edited by: TENDA1 on Dec 10, 2009 5:56 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
自己解決です。
。。。と言うよりかなり力技で解決しました。
>Crystal Report Viewerのアイコンが[X]印になってしまうページのHTMLはココを指しています。
>this.src='/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4/images/toolbar/export_over.gif'"
の絶対パスはIISのホームディレクトリから見れば
'D:/inetpub/wwwroot/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4/images/toolbar/export_over.gif'"
となるはずですが、ホームディレクトリが「'D:/inetpub/wwwroot」であるかどうかは分かりません。
公開されているのはAPのルートフォルダの共有名だけです。(例:
xxx.xxx.xxx.xxx\SAMPE)
ならばCrystal Report Viewerがレジストされたフォルダを丸ごとルートフォルダに設置すれば動くのではないか?
aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4
u2193APルートにコピー
xxx.xxx.xxx.xxx\SAMPE\aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4
ばっちり動きました。
Export、Print、Next、Prev等ボタンの動作も問題ないです。
ちょっと裏ワザっぽいですが、とりあえず解決とします。
すみません。
自己解決しました。
原因は'/aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4'フォルダにIUSR_****ユーザーのアクセス権がなかったせいでした。
お騒がせしました。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.