Nonversionedファイルをパッチでアップデートする時は

覚え書きメモ。

  • パッチでNoversionedファイルがアップデートされるかは、ユーザーが変更したかしないかがすべて
  • NoversionedファイルのアップデートロジックがVersionedファイルと同じように振る舞って欲しい時はCompanionを使う
    • Companionファイルになっている場合、アップデートロジックはCompanionの親ファイルによって決まる
    • Companionの親ファイルがアップデートされ、Companionファイルが変更されているなら、Companionファイルはユーザーが変更していようとしまいとアップデートされる
    • CompanionファイルはKeyPathにはできない

状況が許すならmsiで配布して入れ替えしてしまった方が考えることが少なくて楽。

C++テンプレート完全ガイドに続いてC++テンプレートメタプログラミングが発売されるとな

C++テンプレートメタプログラミング (Programmer’s SELECTION)

C++テンプレートメタプログラミング (Programmer’s SELECTION)

翔泳社GJ!

これでメタメタな世界がわかるようになるに違いない。

ワールドイズ大腸菌にハマった

某氏が俺ニコニコアカウント持ってないんだよねーと、プレミアム会員に向かってのたまってたので、ここに動画を貼ってやることにした。
さあ、ニコニコ会員になるがよい!

D


いつか一発芸ネタで、説明用フリップを持ってこの歌を歌ってみたい。だいちょーが大腸菌の歌を歌うとか完全にネタだよね。

小学校の頃は大腸菌ネタでいじられたのがいやでしょうがなかったけど、今では自分でネタにできる心の余裕が!
大人になるってこういうことなんだろうなぁと、ちょっとだけ思った。


一応替え歌元の曲も。
D

Windows InstallerのComboBoxの内容を実行時に設定する方法

Windows InstallerのカスタムダイアログでComboBoxを使う場合、ComboBoxに列挙する要素は以下のテーブルに書きます。
http://msdn.microsoft.com/en-us/library/aa367872.aspx

テーブルにという時点で想像がつく通り、どこかのプロパティに値をセットすればすむなんて簡単な話ではありません。*1ComboBoxに表示するリストを実行時に動的に作成する場合、実行中にMSIのテーブルを書き換えましょう。


以下サンプルコード。 hInstはカスタムアクションの引数のMSIHANDLEです。

PMSIHANDLE hDatabase = MsiGetActiveDatabase(hInst);
PMSIHANDLE hView;
MsiDatabaseOpenView(hDatabase, "SELECT * FROM ComboBox", &hView);

PMSIHANDLE hRec = MsiCreateRecord(4);
MsiRecordSetString(hRec, 1, "PROPERTY");
MsiRecordSetInteger(hRec, 2, 1);
MsiRecordSetString(hRec, 3, "VALUE");
MsiRecordSetString(hRec, 4, "TEXT");
MsiViewModify(hView, MSIMODIFY_INSERT_TEMPORARY, hRec);

MsiCreateRecord以降MsiViewModifyまでは必要に応じて繰り返してください。
MSIのデータベースの変更についてはあんまり詳しくないので何か間違ってるかもしれません。
たぶんListBoxの場合もほぼ同じだと思います。試してませんが。


なお、ComboBoxのデフォルト値はProperty Tableでプロパティに値をセットしておくことで設定できます。プロパティにセットした値がComboBox TableのValueに存在しない場合、表示されません。


ついでに。
Windows 2000ではComboBoxのheightをちゃんと指定しておかないと、表示領域の高さ不足でドロップダウンリストが表示されなかったりします。XP、Vista、7ではHeightの指定を無視して表示領域いっぱいまで表示してくれるようです。*2

*1:プロパティに"Value"="Text",...みたいな形式で指定すればComboBoxが読んでくれる、とかだったら楽なのに

*2:なんかやってみたらそうなりました。詳しい仕様は知りません。

旦那サマは一日にしてならず

挙式から5日*1、入籍から3日たったけど、相も変わらず旦那さん気分になってないだいちょーです。
嫁に、「旦那さんになった実感ある?」って聞かれたので旦那さん気分とはなんぞやみたいなことを考えてみたけどさっぱりわかりませんでした。
嫁のように名字でも変われば多少意識するのだろうけど、名字もかわらず、一緒に暮らすわけでもなく結婚前と同じようにしばらく遠距離通い婚が続くので、はて、今までの生活と何か変わったのかといわれれば、今度の法事に嫁が一緒に出るくらい、となってしまいます。*2

旦那さんになった実感っていうのはつまり、嫁との関係の変化ではなく対外的な立ち位置の変化を感じたかってことだろうと思われるので、たとえ結婚を機に一緒に暮らすことになっていたとしても相手の親と同居するだとか名字が変わるだとかでもない限り、旦那さん気分なんか感じないんだろうなぁと思いました。

*1:わんわんにゃんにゃんの日に挙式しました

*2:どうでもいい話ですが、だいちょーはご主人様よりも旦那様派です。ご主人様ってなんか微妙に違和感が。

バカ者

大見武士はバカ者って台詞好きなんだろうなぁ・・・。
と、月刊哀川編集長を見て思った。
前に見たバカ者は、えーっと・・・とっさに思い出せるのはろーぷれ1巻か。

バカ者か。バカ者ね。
だが、それがいい(AAry


単行本に巻数ついてよかったですね。つけた以上2巻以降出してくださいね。
原稿料上昇おめでとうございます。次も期待してます。