昨日、InstallShield Developer の InstallScript を使用して OS がWindows Vista かどうかを判断しようと
色々試みたが判断できない。
提供されている関数 GetSystemInfo() でメジャー番号を取得しようとしたが返却される値は、
なんと 5 である。(なんで??)
Vista が発売される以前だから仕方がないかと思い、それであれば直接 Win32API を呼んで
取得しようと、GetVersionEx() で取得するようにコードを変更し、いざ、テスト。
が、結果、なんと 5 である。な・ん・で(~_~;)
うーん。もしかしたら、実際にWin32API を呼んでいないのではないかと思い、
こんなったら、自分で直接呼んでやるとWin32用のDLLを作成し、DLLのテスト。OK。
いざ、InstallScript から自作DLLを呼んでテスト。
がーん。結果、やはり、 5 である。
なにがなんだかわからなくなってしまった.....(@_@;)
調査する時間もないので、結局、インストールする前にランチャを作成して
そのランチャで判断するようにして、目的は達成できたのだが。
Vista に対応していないと言われればそうだが、直接Win32APIを呼んでもダメな
理由が、わからない。