2017年12月12日火曜日

wceload.exeでエラーが発生しまいた。

環境:WindowsCE6.0
機種:CASIO DT-5300

PDAでサービスパック等をあてる際、
FlashDisk\CE\ARM\内にサービスパック等のCABファイルを入れておき、
OS起動時に今あたっているパッチに含まれていない場合は、
勝手にあててくれるが、

その機能が
・PDAで起動時に毎回走る
・途中で「wceload.exeでエラーが発生しました」と失敗していまう
現象が発生した。

原因は、
SDカードにも同じく CE\ARM を入れていたから!
というお粗末なものでした。

だってバックアップだもの~。

FlashDiskとSDCard、両方見に行くんだね~そうなんだね~。

ちなみに、
あてってるサービスパックの確認は、
Windows\AppMgr\
の中身を見ればわかります。

2017年11月1日水曜日

Windows10でWindows Mobile デバイスセンターが起動しない場合の対処方法



会社のマシンがWindows10に変わりました。
Windows10でもPDAの開発をせねばなりません。
なのでWindows Mobile デバイスセンターをセットアップしました。

でもクレードルをUSB接続しても、
1.デバイスセンターが起動しない。
2.同期してくんないからPDAの中が見られない。(勿論物件のデバッグ配置もできない)

で、色々ググッた結果、以下サイトを発見。

参考サイト:http://www.aishinsys.co.jp/blog/1023


サービスから、
「Windows Mobile 2003 ベース デバイスの接続」
が起動しているか確認。
起動していない場合は、サービスを起動。
但し、エラーで失敗するかもしれない。
その場合は、サービスのログオンユーザを「ローカルシステム アカウント」にして、「デスクトップとの対話をサービスに許可」をチェックありにすれば幸せになれるかも知れません。
上記サイトによると、以下のサービスも起動そうです。
私の環境ではLocatorが起動していませんでした。
・Remote Procedure Call (RPC)
・Remote Procedure Call (RPC) Locator

で、以上の対応実施後、1~2が解決した。

2017年3月7日火曜日

ODP.Net x64ビルドしないと動かない

未だに会社のPCが32bitなのもどうかと思いますが、
AnyCPUでビルドしたODP.Net利用のプログラムが、
Widnows2012Server64bitで動かない現象が発生しました。
お互いの環境の詳細は以下の通り。


<開発PC>
OS:Windows7 32bit
Visual Studio 2013(C#)
Oracle:ODTwithODAC121024.zip をセットアップ

<サーバPC>
OS:WIndowsServer2012 64bit
Oracle:ODAC121024_x64.zip をセットアップ

OracleDBへの接続は、生意気にもDbProviderFactoriesを使ってみました。
----------------
DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
----------------

開発PCからは問題なく繋がるのに、サーバで実行すると、
「.net framework データ プロバイダーが見つかりません。これは、インストールされていない可能性があります。」とエラーが発生。

タスクマネージャで実行ファイルを見てみたところ、32bitで動作している事が判明。
読み込んでいるDLL群は全部AnyCPUビルドなのに何故64bitOS上で32bitで動いてるの!?
うぅ~~ん。
サーバに入れたのは64bitのOracle様なのでGAC側を見に行ってるよね、きっと。
セットアップで入ったハズのOracle.Data.Access.dllはGAC_64に入ってるハズだよね。

なので、サーバにVS2013を入れてx64でビルドし直したところ、
上記コードで正常に接続できるようになりました。

AnyCPUじゃダメなのかなぁ。

参考にしたのは以下サイト
<参考:http://d.hatena.ne.jp/JF2LFG+katsusysd/20140621>