2013年1月10日木曜日

Visual Studio 2008からVisual Studio 2010へのアップグレード(Crystal Reportsを含む)


クリレポ 2017.8 最新記事あり → https://oyaji-pgm.blogspot.jp/2017/08/20178-visual-studio-2017-2015-2013-2012_13.html


以前.NET Framework 3.5.1で作成したシステムを今回、.NET Framework 4化する事に。
このプロジェクトには、あの厄介なCrystal Reportsが含まれており、案の定意味不明なエラーを吐いてくれるので、大いに混乱させてもらいました。

先回書いたように、ちょうどクリレポは2010からsap配下のソリューションになったので、サポート体制が大きく変わり余計面倒に。

Crystal ReportsはVisualStudioのあるバージョンと対になっているので、VisualStudioを新らしいものに変えると色々と面倒です。



以下に記す対策は、
Visual Studio 2010でCrystal Reports2010 が動かない、と言う話の対処も手順の中で行っています。
しかし既にVS2012が出ているので今更VS2010!?しかもVS2012からクリレポが使えなくなってしまいましたから、さらに今更感が・・・
が、VS2012はSP1も出ていますが何かイマイチ動作が安定してない気が?Windows7で動かしているからですかね?



※復活しました!VS2012でクリレポが使えます♪
  → VisualStudio2012にSAP Crystal Reports が対応!(祝)
※VS2012でも同様の問題が出たら下記手順を踏めば良いと思います






< お題 >
Visual Studio 2008システム → Visual Studio 2010化
同時に、
Crystal Reports2008 → Crystal Reports2010 化も行う




< 手順 >
① PCへSAP Crystal Reports2010 をインストールする
  (クリレポ2008はアンインストールせず、そのまま放置した)
  ※Crystal Reports2010 インストールは先回書いた記事を参考にして予めPCへインストールしておく

(参考URL Visual Studio 2010 リリース ノート)
http://download.microsoft.com/download/8/3/6/836DBACF-B1ED-4707-9583-381BC5FB31D9/VS2010RTM.htm
 2.1.1 Visual Studio 2010 では、Crystal Reports を個別にインストールする必要がある
Visual Studio 2010 では、Crystal Reports が個別にダウンロードおよびインストールされます。 Crystal Reports プロジェクトまたは Web サイトを作成したり、旧バージョンの Visual Studio または Crystal Reports で作成された既存のプロジェクトまたは Web サイトをインポートしたりする際は、Visual Studio 2010 と互換性のあるバージョンの Crystal Reports をインストールする必要があります。
この問題を解決するには:
Visual Studio 2010 で Crystal Reports を使用している場合は、このリリース ノートの「関連リンク」のセクションにある Crystal Reports のリンクを使用して、Visual Studio 2010 と互換性のあるバージョンの Crystal Reports をダウンロードし、インストールします。このインストールによって、Crystal Reports プロジェクトおよび Web サイトが作成できるようになります。また、Visual Studio 2010 で使用できる既存のプロジェクトおよび Web サイトもアップグレードできます。

SAPのクリレポページTOP
http://scn.sap.com/community/crystal-reports-for-visual-studio



② Visual Studio 2008ソリューションをVisual Studio 2010へ変換
  特殊なものがなければソリューションとプロジェクトのファイルがアップグレードされるだけ
  この場合はクリレポが含まれているので色々と面倒

Visual Studio 2008システム → Visual Studio 2010化1
Visual Studio 2008システム → Visual Studio 2010化2

Visual Studio 2008システム → Visual Studio 2010化3

Visual Studio 2008システム → Visual Studio 2010化4


クリレポが含まれているので下記メッセージが出現
Visual Studio 2008システム → Visual Studio 2010化5


下記画面が出るまでに結構時間かかりました
レポート30本、データセット30本、フォーム27本、クラス15本、プロジェクト3個、で7分程。コード量は面倒だから未計算。ハングしたかと思った。
Visual Studio 2008システム → Visual Studio 2010化6


以下のクリレポ箇所は、VS2010はSAPページからクリレポモジュールをDLしなさいと言ってる
リンクをクリックするとSAPのクリレポページTOPへ飛ぶ
http://scn.sap.com/community/crystal-reports-for-visual-studio
Visual Studio 2008システム → Visual Studio 2010化7

  ※VS2008→VS2012の画面キャプチャは下記の後半にあります
   → http://oyaji-pgm.blogspot.jp/2013/03/visualstudio2012sap-crystal-reports.html

③ セットアッププロジェクトがある場合(私はMSのインストーラーを使っている)、の依存関係に下記のワーニング等表示されても気にせずそのまま無視放置(どれもクリレポ本体内部で使われているよう)
  Flash32_11_4_402_278.ocx
  FlashControlV71.dll
  log4net.dll
Visual Studio 2008からVisual Studio 2010へのアップグレード(Crystal Reportsを含む)1

ちなみに・・・
 Crystal Reports 絡みのエラーが表示された場合、そこでlog4netが関連している様なエラーが表示されることが多いが、確かにVS2010対応のクリレポモジュールでは内部でlog4netが使われているようだが、それは内部の話なので私らには関係ない。従ってそもそもエラーメッセージ自体が不正不明なので気にせず無視する。正しく手順を踏めば最後にレポートが出力出来、エラーも消える。





---↓↓↓ ここからはPCへクリレポを入れたがVS2010でエラーが出る場合の対処に使える ↓↓↓---

⑤ vs2010でクリレポを動作させる

1 .netフレームワーク4.0をclientProfileにしているとクリレポが変なエラーを吐くので決して間違えない事(client profileではダメ)

Visual Studio 2008からVisual Studio 2010へのアップグレード(Crystal Reportsを含む)2



2 エラー 下記2つのエラー対処を行う

  1.「ファイルまたはアセンブリ 'file:///C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません」

    対処を行う

    ・そもそもdotnet1と言うフォルダは存在しないので、作る
    ・crdb_adoplus.dllを探してdotnet1以下へcopyする
    ・x32版とx64版があるので間違えると何時もの意味不明なエラーが出て嵌る
     PC環境がx32ならx32版をcopy、x64PCならx64版をcopy


  2.「混合モード アセンブリはバージョン 'v2.0.50727' のランタイムに対して作成されており、追加の構成情報がないと 4.0 ランタイムでは読み込めません」

    対処を行う

    ・これは.net4.0を使うようapp.configへ指示すれば良い

    対処 app.configにて

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0"/>

</startup>

   説明
 ・startup属性にuseLegacyV2RuntimeActivationPolicyを付加しtrue(省略時falseになる)
 ・ライタイムバージョンがV4.0になっているか合わせて確認
 ・上記は<>を大文字にしているので注意!本当は半角なのでコピペ時に直す

---↑↑↑ ここからはPCへクリレポを入れたがVS2010でエラーが出る場合の対処に使える ↑↑↑---



⑥ コンパイルで下記ワーニングが出ても無視
  ※わたしは問題がでないと対処しないので、調査されてもOKと思います
  ※ただ上記app.configにてver4指定したので構わないと思いますが・・?)

 警告: 選択した 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0' 項目には 'Microsoft.Net.Framework.2.0' が必要です。[必須コンポーネント] ダイアログ ボックスで足りない必須コンポーネントを選択するか、または足りない必須コンポーネントのブートストラップ パッケージを作成してください。

 警告: 選択した 'SAP Crystal Reports Runtime Engine for .NET Framework 4.0' 項目には 'Microsoft.Data.Access.Components.2.8' が必要です。[必須コンポーネント] ダイアログ ボックスで足りない必須コンポーネントを選択するか、または足りない必須コンポーネントのブートストラップ パッケージを作成してください。



⑦ 特殊なケース
  もしMSセットアッププロジェクトで下記ワーニングが出たら対処する(こちらは対処する)
   ※.net351→.net4.0にした為のワーニング

 警告: プロジェクトの .NET Framework のターゲット バージョンが、.NET Framework 起動条件のバージョン '3.5.21022' と一致しません。.NET Framework 起動条件を更新して、[詳細コンパイル オプション] ダイアログ ボックス (VB の場合) または [アプリケーション] ページ (C#、F# の場合) の .NET Framework のターゲット バージョンと一致するようにしてください。


これでコンパイルが通りデバッグ実行でCrystal Reports が出力され、インストーラーを作成しインストールした場合もCrystal Reports が実行出力される。





ポイントは割と雑な製品Crystal ReportsがSAPに買い取られ更に雑なエラーメッセージを吐く。このエラーメッセージに騙され内容を読み取り対処しようとすると嵌る可能性が大きい。
従って上記で行っても上手く行かない場合はエラーメッセージを信用せずどちらかと言うと無視し、当たり前に考えもう一度手順を踏んでみたり自分なりに手順を考えてみると良いです。








(後日追加分・・・)

めでたくVS2010になったソリューションを開くと当然VS2010が起動するが、その中にあるクリレポを開くと*印がつく場合があります(*がついた方が良い)。そしてコンパイルをすると、下記メッセージが出現しますので、はい、を押す。
SAP Crystal Reports, version for Visual Studio 2010-20121

問題が1つ

レポートを開いて*印がついた時にコンパイルすると上記メッセージが出現し「はい」を押すことで結果的にレポートが新しくなるようですが、レポートを開いてもこの*印がつかない場合がかなりあります。
SAP Crystal Reports, version for Visual Studio 2010-20122
上の画像はプロジェクトで使っているレポートの一覧ですが、□で囲んでいない部分があります。
これは何度レポートを開いても*がつかず、そのためコンパイルしても「レポートがアップグレードしますか」ダイアログが出現しません。と言う事はいつまでたってもレポートが旧構造のままです。

何か開くタイミングで*がついたりつかなかったり。何度開いても*がつかない場合は無理やりレポートを編集してアップグレードさせます。

こんな具合に適当な物を挿入したり、設置してあるオブジェクトをずらしたりして、すると*(変更有マーク)が出現しますよね。*がついた状態でコンパイルすると、「レポートがアップグレードされました」ダイアログが出現するので、アップグレードされます。
SAP Crystal Reports, version for Visual Studio 2010-20123




 ・・・そもそもレポートのアップグレードなんてやっているのかどうか、そんなことはクリレポの内部的な事なので分かりませんが、一応全て「アップグレードしますか?」メッセージを出現させクリレポをアップグレードさせた方が良さそうです。後で不具合でるのも嫌なので・・・

この作業が結構面倒でした。チェックしながら全てアップグレードさせないとならないので。最初は全レポートの1/3ほどしか*が出現しませんでしたし・・・





以上


CrystalReports2010インストールエラー 2753


クリレポ 2017.8 最新記事あり → https://oyaji-pgm.blogspot.jp/2017/08/20178-visual-studio-2017-2015-2013-2012_13.html


CrystalReportsの発売元であるBusiness ObjectsがSAPに買収され、現在SAP配下のソリューションとなったクリスタルレポートですが、サポートが宜しく無いようですね。

このCrystalReports2010ですが、昨年windows7へインストールした時は問題ありませんでしたが、再度手順を追ってみようとCrystalReportsをアンインストール→再インストールしてみた所、インストール終盤でエラーが発生してしまいました。

昨年問題なく、今回エラー発生、何故?





< 元となったCrestalReports2010インストーラー >

1.CrystalReports2010に関するMSの情報ページ
http://support.microsoft.com/kb/317789/ja
  ↓
2.SAP、CrystalReports for Visualstudio ダウンロードページ
http://www.businessobjects.com/jump/xi/crvs2010/default.asp
  ↓
3.実際のDLページ
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
ここでSAP Crystal Reports, version for Visual Studio 2010 - StandardをDLする

DLしたEXEは 「 CRforVS_13_0_1.exe 」。これを展開し実行するとエラー「2753」で終了



(2013/3/6)情報START
・VS2012対応の最新インストールEXEでもインストール中にエラーが出る
 どうやらSAPは一連のインストーラーバグを修正する気は無いようです
 よって下記手順は現在も今後も?必須のよう

・上記ビジネスオブジェクトのページは全てSAP下に変更されたようです
 SAP Crystal Reports の Visual Studio.NET の TOPページ
 http://scn.sap.com/community/crystal-reports-for-visual-studio
 一番下の「人気のコンテンツ」を見ると良いですね

・現在では新しいバージョンが出ているようです。「人気のコンテンツ」より
 VS2010:CRforVS_13_0_4.exe
 VS2012:CRforVS_13_0_5.exe
(2013/3/6)情報END


< エラー内容 >

エラー2753。ファイル
"agent.exe.6ED28686_7B19_420C_B255_5B6C1BD2C705"はインストールするようにマークされていません。

理由はインストーラーにバグがあるらしいと発言している方もいます。
解決策提示ページでは以下の理由と述べています。
The underlying cause is that when your installer encounters newer versions of the client files already on the target machine, the MSI will not install/overwrite the newer agent with the older agent/client files. This prevents a custom action from being run.

対策は下記ページにあるパッチexe経由でインストールを行うと問題が解決します。




< 解決策提示ページ >

http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q207355&sliceId=1

Q207355: INFO: FLEXnet Connect Installer Transform Utility

※私のIE9の場合このページのフレームを読み込むことが出来ず文字のない空白ページが表示されたので、何も表示されない場合はsafariやFirefoxなどの他のブラウザを使ってみる。フレーム内を表示できないと下記がDL出来ない。




< 解決手順 >

1.ページ下部にある下記2つをDL



Attachments
public_fnc.mst
public_FNC XForm.exe

2.下記の手順に沿ってインストール



Resolution

To transform your installation package
1.      Launch the attached exe.
2.      Browse for your MSI or setup.exe.
3.      Click Run.

わかり易いように書くと・・
a.c:\transform、フォルダを作り、DLした上記ファイルを入れておく
b.public_FNC XForm.exeを実行
c.するとセットアップEXEは何処にある?と聞いてくるのでCRforVS_13_0_1.exeのパスを指示
d.エラーなくインストールが完了


 以上



2013年1月7日月曜日

VS2012の為にvaioをwindows8にアップグレード


VisualStudio2012、これどう思います?

1.私が10年以上使ってきた無料のレポート、クリスタルレポートが無くなった
2.インストーラーが製品版をボッタクっているInstallShieldになってしまった
3.Windows8でないと作成できないプロジェクトがある

1は大問題、ずっとこれを使ってきたので大変困ります。解決策なし。
2はクリレポの様にそのうちテンプレートが削除されると面倒。
3は、でもwindows8は駄目でしょ!?

と、駄目な方向へ行ったVS2012は使えないと判断しVS2013?VS2014?まで触らないようにするつもりでしたが、やっぱ多少触っておかないと・・・



と、仕方なくWindows8の環境を作る事に




ただWindows8はvistaより酷い可能性のあるOSのため、メイン開発マシンをWindows8にするなど自◎行為に等しいので、外出用に使っているVAIOのSと言うWindows7proノートで。
このノートを一応紹介しておきますが、2011年10月~2012年6月に発売を開始したVAIOのSと言うノート。私のモデルは非常に恐ろしいモデルで、よくもまあSONYはこんな恐ろしいモノを販売出来るよな・・・逆に凄みまで感じるパソです。流石大企業。
何が怖いって、、、RAID0で組んだノートです。この意味が分からない方は気にする必要ありませんと言うか、気にしようがないですが、大切なデータは保管しない方が良いですよ。



windows8のインストールですが・・・



今回、SONYが提供するWindows7をWindows8にする方法で試みましたが、これも鵜呑みにしてそのまま行うと泣く人が出ます。下記はSの手順です。
http://vcl.vaio.sony.co.jp/windows/8/product/sv/svs13a1aj.html
http://qa.support.sony.jp/solution/S1210030042482/
私はプロなので何故そうしなければならないのか理由は分かりますが、、でも酷いですね。


問題は、WIN7のリカバリメディアを作成させPCをリカバリーさせる点。リカバリーとは購入時の状態にパソを戻してしまう事。
従ってデータは外部メディアに保管しなさいとの説明はありますが、、自分で購入してパソにインストールしたソフトの処置には一切触れていません。
気合で頑張ってやっとWindows8になったは良いけど、自分でインストールしたソフトは何処へ行ったの?となります。
私は仕事で使うソフトが30本程入っているので、リカバリーなどしたら大問題!
が、その辺は流石大企業
全く触れることなくしらっとしらを切りとおす様で、サポート外と言って客を黙らせるのでしょうね。



そこでダメ元、試しにリカバリーしないで手順を進めてみました。手順3の「リカバリーを行う」のみ行わず、それ以外の個所は全て行いました。自分でインストールしているwin8と互換性のないソフトも事前に全て削除しました。
すると・・・
別になんてことなくインストールは無事成功しWIN8も上手く起動出来ました。プリインストールされたSONY側のソフトも全て問題なくupgrade出来たようで、よくぞこんな半年しか使わないだろう移行プログラムを費用を掛けてSONYは作ったよな・・・と逆に感心もしましたし。
ただ一般の方は、、、Windows8が最初から入ったパソを買った方が良いと思います。暇な方や怖いもの好きな方はリカバリーせずチャレンジしてみても良いのでは?と思います。

VaioCareで作成するリカバリーディスクは・・・
私はブルーレイに焼きましたが、フォーマットは「マスターディスク形式」で行わないと作れません(フォーマット画面の下のCD/DVDプレイヤーで使用するをチェック)。
以前、「メディアが正しく作成できたか確認する (時間がかかります)」にチェックを入れず作成したところ確か10分程でメディアが作成出来ましたが、今回誤って確認するをチェックしてしまったところ、なんとメディア作成に4時間もかかってしまいました(cpuはi7、ssdです)。余りに終わらないのでハングしていると思いましたが、実は動いていました。ご注意下さい。






最後にwin8。



やはり・・・酷すぎて使えませんね。私は旧スタート画面にあるプログラム数が100本超えていますが、この中のプログラムを起動するのに一体何秒必要?メトロ画面でどうやって探せと?WIN8のタイルスタイルは仕事の邪魔以外の何物でもありません。
それはスタートボタンの一覧に機能を付加し、これを無理矢理タブレット用途に適した画面=メトロ画面として1枚の画面にし、既存デスクトップ画面と無理やり結合、、、このモダン(メトロ)画面はWindowsPhoneの様にショートカットを張り付けて使う様ですが、軽く遊びで使っている人には良いかも知れないけど仕事でがっちり使っている人には絶滅的に使いにくいインターフェースです。と言うか、モダンインターフェース、これいらないでしょ!?

ちなみにあの最悪OS、VISTAを作ったチームがWINDOWS8を作ったと言う噂が!?だとすると、更に輪をかけた、本当に最悪OSなのかもしれません。
WindowsRTは、何が原因か知りませんが、もっと出来が酷いようで、ハードがリリース出来ないようですし(殆ど販売されていない)。VISTAのチーム、早くMSを去ってください・・・。それともあなたたちはMSの生贄なのでしょうか?