プログラミングの最近のブログ記事

Visual Studio 2008で作成したセットアップで新バージョンを上書きした場合に、my.settingsに保存された設定が初期化されてしまう件に対処する方法を調べました。

ここの掲示板のスレッド(英語)にナイスな情報がありまして、上書きインストールした場合、設定はAppData下に新規に作成され、旧バージョンのものが上書きされるワケではないと。で、それを引き継ぐメソッドがMy.Settings.Upgrade()のようです。メソッドについてはこちらが詳しいです。。

ただ毎回これを実行してしまうのも無駄だし一抹の不安もあるので、上記スレッドに書いてあるコード、

If My.Settings.UpdateRequired Then
           My.Settings.Upgrade()
           My.Settings.UpdateRequired = False
           My.Settings.Save()
End If

では、

  • my.settingsの中に「UpdateRequred」というBoolean値を作っておきTrueにしておく
  • まっさらな設定では当然Trueなのでこのルーチンが実行される
  • Upgradeメソッドを実行し、上記Boolean値をFalseに変更した後保存
  • 2回目移行は実行されない

という仕組みです。

ナイスです!

最近、テレビ録画ファイルの保存形式をDivXからH.264/MP4に移行中なのですが、iTunesやiPhoneで見るのに、いくつかのメタデータを付与しておいた方が便利だということがわかりました。

例えば、iTunesで動画ファイルのプロパティを表示した際の、

  • 「オプション」タブの「メディアの種類」を「テレビ番組」に
  • 「情報」タブの「名前」フィールドにサブタイトル
  • 「情報」タブの「トラック番号」フィールドに話数
  • 「ビデオ」タブの「番組」フィールドに番組名

などを入れておくと、プレイリストを作らなくても番組毎にまとめて表示されたりして見た目ナイスです。iPhone/iPod touch上での見え方はこちらが参考になります。

ただちまちまiTunes上でファイル毎に設定するのは億劫なので、ツールを自作してみました。

といっても、AtomicParsleyというコマンドラインツールのフロントエンドを作っただけなんですが。

dgMP4Tagger

上記公式ページに既にいくつかのGUIフロントエンドがリンクされてたんですが、Java実装だったり一括処理できなそうだったりリンク切れだったり散々だったので。

また、我が家のライブラリでは

01「ユウシャ世界に起つ!」.mp4

のように話数とサブタイトルを含んだファイル名書式に統一してあるので、ここからデータを拾って半自動でメタデータを生成してくれると便利だろうと。

そういう意味ではまり汎用性はないので、公開は要望があればって感じで。

以下、覚え書き。

  • iPhone上ではエピソード番号ではなくトラック番号が表示される(エピソード番号だけだと「不明」となる)。
  • AtomicParsley 0.9.0で上書きオプションを使うとファイルが壊れる。バージョンアップ経過を見守る。

Visual Studio 2008で、とあるC#のプロジェクトをビルドしたかったので、(普段Visual Basicしか使ってない環境に)追加しようとするも、setupがエラー吐いて終了してしまう。最初、Windows7の問題かと思ったんですが、Vista機でも発生。

DVD上のsetup.exeではなく「プログラムと機能」から「アンインストールと変更」でやったら一応、追加インストールを選択する画面までは進んだんですが、今度は「更新」ボタンを押して実行しようとすると「選択されたドライブは無効です。インストールパスの設定をしてください」とか言われる(;´Д`)。しかも、パスの設定欄はグレーアウトしていて触れない。中身は実際にVSが入っているパスを挿しています。

で、こちらのブログに行き当たり、SP1が悪いとのことだったので、一旦Visual Studio 2008 SP1をアンインストールすることで解決!

ちなみに、SP1は「プログラムと機能」の標準のリストには出てこないで、更新プログラムの方から探さないといけないというのに気付くのにしばらくかかったのは内緒。

C#インストール後、再度SP1を入れ直して完了。やれやれ…

なお、SP1のISOをWindows7でマウントさせるのには、なにやらエラーの出るdaemon toolsではなく、Virtual Clone Driveを利用しました。

ブログなんかでよく使うアニメキャラの名前を辞書登録するのってちょっと面倒ですよね。有名作品なら誰かが辞書ファイルを配布してくれたりもするかもですが、最近はあまり見かけません。

で、ふと気付いたのは、「Wikipediaの番組エントリの登場人物一覧の見出しで

姓 名(姓読み 名読み)

となっている部分を利用すればよくね?」ってこと。

で、簡単なスクリプトを作ってみました。名付けてWikipedia2Dic。あくまで上記の書式でレイアウトされていること前提の超手抜き処理ですが…

今のところ、自分が使うATOK用のフォーマットのみ出力できますが、単純な、

よみ(タブ)漢字表記(タブ)品詞

形式なので、MS-IMEなどで流用するのも簡単なんじゃないかと。要望が多ければ対応するかも知れません。要望があったので対応してみました。IMEのバージョンでフォーマットが違う可能性もありますが、とりあえずMS-IME 2007の辞書ツールでインポートできることを確認しました。

あと、一部エントリでは余計なタグが混入することがわかり、タグを一括除去するように改良しました。

Visual Studio 2008 SP1用の更新KB971092が何度適用しても、成功したと表示するくせに繰り返しWindows Updateに表示されてしまう時の対処法ですが、こちらにある手順を参考にもう少し楽な方法をまとめてみました。Microsoftからの対応を待てない方は自己責任で。

  1. {Program Files}\Microsoft Visual Studio 9.0\Common7\Toolsにあるvsvars32.batのプロパティで、usersに書き込み権を与える。
  2. 単体インストーラーをダウンロードする。
  3. 起動せずに、展開する(Lhplusとか7zとか.exeアーカイブを解凍できるツールなどで)
  4. 展開した中のVS90SP1-KB971092-x86.mspを実行してインストールを実行する
  5. 1.の変更を元通りにする

これでウチではWindows Updateにも出なくなりました。

ご参考までに。

もしかしたら、1.のあとに通常のWindows Updateからの適用でもいけたりするんですかね?

Eye-Fi連携用超ニッチユーティリティ「静止画眼」、せこせこと改良しておりますw。

本日公開の1.2では、全画面表示に対応しました。これで、撮った写真がその場で(本当の意味で)PCモニタいっぱいに映し出されることになります。

アーカイブ

ウェブページ



Powered by Movable Type 4.25