2012年2月21日火曜日

USBストレージまたはSDカードにインストールできませんでした

使い始めて1年ちょっとのT-01C(Regza Phone)。新機種が次々リリースされるのも何のその,それなりに快適に使っていたのだけど,ある日突然以下のエラーメッセージが表示され,SDカードにインストールしているアプリが更新できなくなりました。

"USBストレージまたはSDカードにインストールできませんでした"

とはいえ,Googleで調べればすぐに見つかるだろうと検索してみると,かなりの量の記事がありました。特に分かりやすかったのが以下の記事でした。

http://kmor1.blogspot.com/2011/02/android.html

なるほど,.android_secureというフォルダーにあるsmdl2tmp1.asecというファイルを削除するか名称変更してしまえば解決するとのこと。
この記事では端末をPCにUSB接続して使っていたのだけど,要はファイルを削除できればいいの考えてAndroidアプリのESファイルエクスプローラーで直接操作しました。
ところが解決しません。もう一度アプリで対象フォルダーの中を確認しても,やはりファイルは存在しません。
思い直して記事にある通りPCに接続してみたところ,アプリでは表示されなかった対象ファイルが見つかりました。改めて名称変更を行なうとあっさり解決しました。
きちんと記事にある通りしていれば話が早かったわけで,ここでも少し反省です。

弥生会計12にアップデート

弥生会計12ネットワークのパッケージが届いたので,11からアップデートすることにしました。
今回のアップデートで目立ったものといえば,PDF作成機能でしょうか。他には帳票や設定関連の細かい変更や強化といった感じで,大きな変化はないようです。
会計ソフトだから,あまり大きな変化があるのも善し悪しで,安定と法律対応こそ重要なわけですけど。次に作業効率の向上といったところでしょうか。
その点,サポートに入っていると常に必要な修正が適用されて助かりますね。

昨年はセットアップファイルをDVDからファイルサーバーにコピーし,そこから複数のPCにインストールするという方法を使ったためランタイムの一部が不足して余計な手間をかける羽目になってしまいました。
その反省を踏まえ,今年はランタイムフォルダなど必要と思われるフォルダをすべてファイルサーバーにコピーしてインストールすることにしました。
(複数のPCで同時にセットアップするにはやはりファイルサーバーが便利なもので)
以下のフォルダーをコピーしました。(Adviserの中にはKaikeiというフォルダーのみコピー)
License.txtはライセンス認証でコピペして使うために登録番号を保存してあります。

 
こうしてStart.exeを起動してインストール。
以下のような流れで進んでいきます。


 KB256651はXPS関連の修正ファイルのようです。これのインストール時に再起動が求められることがあります。ちなみに,ファイルサーバーからのインストールで再起動しても,問題なく進捗しました。ただし,再起動時には再起動前と同じユーザーでWindowsにログインする必要があります。
無事にインストールが終わって弥生会計12を起動すると,以下のようなメッセージが表示されます。


 もちろん「はい」を選ぶわけですが,なぜかエラーが出てきました。


「エラーコード 250」とありますが,解決はしたものの何が問題なのか分かりませんでした(検証前に解決したので)。やはりDVDからインストールしないのが悪かったのでしょうか。
とりあえずユーザーを「管理者」にしてログインし,同様の操作をするとコンバータが表示され,無事に変換が完了しました。
変換に使用したPC以外のPCで弥生会計を起動すると,今まで通り弥生会計11のデータに接続しようとするので,やはり「変換しますか?」メッセージが表示されます。
ここは「いいえ」にして,改めてデータ選択することになります。

セットアップDVDの中には弥生会計とは関係ないセットアップファイル(体験版など)がたくさん入っています。できれば関係ないファイルは別のメディアに分けていただけると嬉しいなと思いました。(重ね重ね,DVDからインストールすれば問題ないのですが)

2012年2月9日木曜日

Optiplex GX520 内蔵電池交換

何年間か使っているDell Optiplex GX520の起動時に以下のメッセージが表示されるようになりました。

"Alert! System battery voltage is low."

内蔵電池が弱ってるんだなと判断し,電池交換することにしました。
使用した電池は以下の通り。


5個セットあってもすぐには使わないけど,CR2032はまた使うだろうからということで決定。
Prime対象で送料もかからないし,近所とはいえ量販店に行くのも時間がかかるので今回はAmazonで購入することにしました。
電池交換の手順はメーカーサイトに載っていたのでいちおう確認。

Dell™ OptiPlex™ GX520 ユーザーズガイド:バッテリー交換

筐体を開けてHDDを外すと電池が見えますので,これを交換するだけです。
HDDはワンタッチで外れるようになっていて,とても簡単です。


交換後,電源を入れると各種エラーが表示されるかもしれません。
BIOS設定が全部消えているので,F2を押して設定をするように指示が出ます。
まずは日時を合せます。次いで,PCの環境に合わせてデバイスの設定を行ないます。
今回の場合は内蔵FDDがないのでFDDのタイプをUSBに変更するなどの設定を行ないました。

これでPCからメッセージが出ることなく起動するようになりました。

2012年2月2日木曜日

ソースには,DataRowが含まれていません

Linqを使ってデータテーブルの処理をしている途中,エラーが発生してしまいました。

"System.InvalidOperationException: Linq The source contains no DataRows."
ソースには、DataRow が含まれていません。

コーディング中にエラーは出ないのですが,デバッグを始めると状況によってうまくいったりいかなかったりです。
もういちどよくエラーメッセージの意味を考えた結果,Linqで抽出した結果が0だったのが問題だったと分かりました。

Private Sub LinqToDataSet()

    Dim dt1 As New DataTable
    dt1.Columns.Add("Key")
    dt1.Columns.Add("Value")

    For i = 1 To 10
        Dim r As DataRow = dt1.NewRow
        r("Key") = "Key-" & i.ToString("00")
        r("Value") = "Value-" & i.ToString("00")
        dt1.Rows.Add(r)
    Next

    Dim searchKey As String = "Key-99"
    Dim query = dt1.AsEnumerable.Where(Function(el As DataRow) el("Key") = searchKey)
    SetDataRow(query.CopyToDataTable.Rows) 'ここでエラー発生。

End Sub

Private Sub SetDataRow(ByVal rows As DataRowCollection)

    For Each r In rows
        Debug.WriteLine(r("Key") & "|" & r("Value"))
    Next

End Sub

というわけで,結果の数を確認して処理するようにしました。

If query.Count > 0 Then SetDataRow(query.CopyToDataTable.Rows)

単純なことで手間取ってしまい,少々残念です。