Archive for 1月, 2022

プログラムのアンインストールまたは変更の謎

火曜日, 1月 4th, 2022

ということで、インストールプログラムの挙動が変だと、コントロールパネルの「プログラムのアンインストールまたは変更」でインストールプログラムの順序で前のバージョンのエントリが残ったままになる。ということで調べてみた。

古い資料によると、レジストリHKEY_LOCAL_MACHINEの「SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall」のサブキーを列挙せい。とありますが、これがなんと出てるはずのサブキーが見当たらない。

レジストリエディタでごにょごにょするが、目的のエントリが見つからない。アプリケーションはWin32Apiの32bitアプリだ、ということで調べまくると、32bitはWOW64用のHKEY_LOCAL_MACHINE「SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall」に記録される。つまりレジストリエディタで見る場合は32bit(WOW64)と64bitを切り分けて考えないといけない。

そして、さてコードを書き始める。まずは、x86(32bit)ターゲットで動作環境がWOW64かをチェックして、確認した。上記二つのそれぞれのレジストリ領域を列挙するのだが?なぜか全く同じ列挙のデータが返ってくる?なぜだ?

そこで、x64でビルドしてみる、そしたら、WOW64を認識しない。はて?よく考えてみるとそうだ、ネィティブx64なんで、WOW64のサブシステムなどは必要ない、じゃ、64bitの場合はWOW64のチェックをスキップし、両方のレジストリを読みに行くと期待通りの列挙結果が出てきた。

じゃ?なぜ?x86環境だと、32bit 読んでも 64bit 読んでも、同じ列挙するのか?よーく考えてみたら、WOW64のサブシステムがAPIレベルで32bit読んでも、64bit読んでも同じ扱いにしたのかも?ということで、実行ビルドが32bit(x86)ならどっちを読んでも、同じ結果が返る。そして、実行ビルドが64bit(x64)なら両方を読みにいかなければダメだっていうこと、今回は32bit(x86)で仕上げるので、「SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall」のサブキーを列挙せい。ということで目的の動作は行ける感じである。しかし、64bit移植の時に、両方のレジストリを読まないと目的の結果が出せない。ということを覚えておいて、備忘録としておく、

2022/01/03 針子君2匹生まれた

月曜日, 1月 3rd, 2022

ということで、昼休みにメダカにえさやってると孵化水槽(浮草と布袋草)を集めたコンビニケーキの蓋に小さく動くものが? 見ると、針子が生まれていました。 そして同じ水槽にメダカの卵が3つ、この間の黒メダカの卵か? 見る感じ、ヒメダカのなんですけど? その後、針子をサルベイジして針子水槽に、そしたら、黒い小さいものが? 見ると、黒メダカの針子が1匹生まれていました。

2022元旦の我が家のメダカ水槽

土曜日, 1月 1st, 2022

2022元旦の我が家のメダカ水槽です。 我が家室内水槽です。 親メダカの水槽に泳いでいたので分けました。グリーンウォーターでペットボトル水槽で飼っています。1cmほどと0.4cmの2匹います。 その後、黒メダカの水槽に1cmに少しの幼魚を発見、計5匹の針子君 親メダカは卵3つ持っています。 #メダカ #針子

2022 元旦 雪の毘沙門堂

土曜日, 1月 1st, 2022

あけましておめでとうございます。
#京都 #山科 #洛東 は
2022 元旦 雪の#毘沙門堂 です。

まずは、初詣にお参りに行きました。

雪の木々が印象的でした。

 

謹賀新年2022

土曜日, 1月 1st, 2022

あけましておめでとうございます。

TouchJWv2の開発環境も昨年11月に大幅に変わりました。

本年は、さらなる機能強化を予定しております。

本年もよろしくお願いいたします。