2013年11月23日土曜日

Windowsストア・アプリを作るために

断言する。
Microsoftもなりふり構わず資金力のメリットを押し出してきたぞ。
WindowsRTなんて言うAndroid以下のハンドヘルドOSをいつの間にか無かった事にしようとしている。8インチでフル機能のOfficeがバンドルされた8や8.1タブレットを4万前後で大量投入中だ。DELLのVenueとかね。昨日の午前0時に3000円引き予約に参戦すれば良かったなあ。

これやられると、Officeをちゃんと使いたいユーザはこれを使わざるを得ない。さらにiPadより安い。
Androidでも偽Office(ごめん、Office互換アプリだな)の泣き所、マクロことVBAが使えないワケで、つまるところ、業務用のOfficeとしての使い勝手は本家の圧勝なわけだ。
もちろん、私らIT屋や金融機関、ちゃんとした企業では私物PCの持ち込みは禁止されている。
私物の記憶媒体やPCを持ち込める会社は事実上、プライバシーマークの取得も怪しいからだ。
もちろん、ISMSなどの認証もまず無理なのだ。
だが、BYOD(笑)や会社支給のセキュアなPCは例外だ。

で、私も老後の稼ぎのネタとしてWindowsストア・アプリを作ろうかな、と言う気になったのだね。
既にXAMLとかC#は違和感が無いし、こんなロートルは本業ではコーディングなんてしないから、会社の機密保持規定にも抵触しないワケだ。
まあ、UI周りの特許ネタが多少バッティングするが、うまくやろう。

では有るのだが、ストア・アプリを開発するうえでターゲットを8にするのは現実的でない。
何故なら8.1に無償UPGできる訳で、コンスーマーはこう言う場合、必ずUPGするものだ。
(これを古事記根性と言ってはいけない。私も使いもしないMCEライセンスをきっちりいただいている。)
そうすると8.1とVisual Studio Express 2013が必須となるのだ。
まあね、矛盾してるけど8.1みたいな不安定なOSを常用する気は無いので、サブ機かVMに入れる事にする訳だが、8.1は秘密裏にCPUの切り捨てを行っている。

 CMPXCHG16Bと言う命令がサポートされていないCPUにはインストールできないのだ。
一般的には2005年以前のCPUは難しいとされているが、私のWin8サーバ機のTurionなどもサポートされていない。だから8で止まっている訳だが。

ではVMだ。私はいろいろと夢を見る都合も有って、メイン機のVMはVirtualBoxにしている。
こいつもデフォルトではCMPXCHG16Bをサポートしていないので、仮想マシンにパッチを当ててやらねばならない。それ自体は難しい事では無いが、8.1の仮想マシンを作ってから、コマンドプロンプトで >[VirtualBoxのインストールパス]\VBoxManage.exe setextradata [仮想マシン名] VBoxInternal/CPUM/CMPXCHG16B 1
とやってやる。

私はゴニョゴニョして8.1用のクリーンインストールISOイメージを作っているのだが、後はこれで一気にインストールしてしまう訳だ。
で、鼻でもほじりながらインストールすれば良いのだが、うっかりプロダクトキー入力をスキップしてしまった。これがなかなか面倒臭い事を引き起こすのだ。
まず、ライセンスキーは8用なので、8.1で起動してからはライセンスキーが有効でない、と弾かれる。もちろん、ライセンス違反では無いのだが、お堅いことだ。
仕方ないので強制的にライセンスキーを切り替えて、電話認証してしまうワケ。

windows8.1をwindows8のキーでアクティベーションする

(1) まず、コマンドプロンプトを管理者権限で起動する。
(2) >slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx ってな感じでライセンスキーを投入する。
(3) >slui 4 でライセンス認証ウィザード(別画面)を起動する。
(4) 別投稿のアフガン問題でも良いのだが、日本を選んで電話する。
(5) 1→1の後、ライセンス認証番号をテコテコ入力する。
(6) お客様のライセンス認証情報を検索されるが、まず間違いなくオペレータに回される。
(7) オペレータには低姿勢かつ慇懃に、「再インストールしたら認証画面が出た」と言う。
(8) 初めてのインストールか、とか行かれるので適当に(不適当ではいけない)答える。
(9) 教えてもらった認証コードをライセンスウィザードに入力する。

Windows8にしてから、再インストールをすると確実にオペレータ対応になる。
MSもご苦労な事だが、オペレータの心証はアクチに何の影響もない。彼らはマニュアル通りに対応するだけだ。しかしながら詰めてみても面白くないので(実体験だ)事務的に大人の対応をしよう。「ありがとう、助かった」とでも言っておけば相手もイヤでは無いはずだ。

で、お決まりのClassicShells4.0でも入れてみる訳だが、ニホンゴ化されたやたら上から目線の電机本舗版が3.5のままなので、本家から4.02を入れる。
あらら、変な帆立貝が出てこないのね。8.1のwindowsマークをそのまま利用するんだ。
いいじゃん。

さあて、Visual Studio Express 2013入れるか。

windows8っていいね

巷ではWindows8.1に無償UPGできるのに、windows8マシンを組んだのだ。それもサーバとしてだ。
2008、2008R2,、2012、2012R2とサーバOSもバージョンアップを繰り返しているが、Home/SoHo向けのサーバー製品はWHS2011以降出ていない。それどころか、MSのサーバー製品はサイジングの整理が行われ、大別すると3つだけ? R2 Essentialsを使えば良いのだろうが、WHS初期と同様バンドルでしか手に入らないみたい。2012 Essentialsでも無駄なサービスばかりで閉口したのに、つまり一番下でもStandardを使えってこった。これの何が嫌らしいかと言うと、サーバーのライセンスの他にユーザー数か接続数かどちらかのCALって言うライセンスを買わなきゃならないのね。これの計算を誤るとライセンス違反。バグは放っておいてもライセンス管理なんかに力を入れているMS的には不可侵の領域。
こいつをしくじると顧客企業が事実上の法令違反になっちゃうんだよね。反社会的な企業なら良いのだが。
私も契約上、追加のCALまでは持ってないし。

そこでWHSシリーズ(やEssentials)の存在意義があった訳なんだけど、WHSは終息なんだよな。
で、タイトルに戻るのだが、8ってライセンス上20台のコンピュータの接続を許可しちゃってるわけです。フォルダの「詳細な共有」でも最大接続数が「20」になってるんだよ。これ、ServerのDataCenterなんかだと数万になってて引くのだが。たかがギガビットのイーサネットでそんなにTCPコネクション使われても困りますって。

つまり、HomeServerなんかを使わなくても、Vistaなんぞよりずっと軽快(見えるトコだけね)なサーバの出来上がりなんだな。
クラインアントHyper-Vとか喜んでいたが、最初から小規模サーバ代わりにするつもりだったんだろうなあ。っていうか、SoHoなんてサーバ要らねーだろっていうMSの切り捨て策かもしれない。
8でサーバー立てて不便なのはサーバー的な使い方(ADとかDNSとかNTPとか云々)が出来ないってだけで、Webサーバは立てられるし、SMBもFTPもなんでもできる。じゃ、8で良いじゃん。

と、Hyper-V勉強してたら全社でVMwareに傾いてしまって一応やっつけで資格を取った私が、ウチのサーバ2号機にESXiをインストールしようとしたらコアが1個なのでダメですって英語で叱られたから八つ当たりで書いてみました。サーバ機なのに1コアって...Sempron....
(本日、ご近所さんが2コアのCPUをオクに出していたので、即落で受け取ってきた)

1号機はHP機でノンホットプラグだが4ベイ、CPUもノート用2コア、TDP15Wと言うエコ仕様。500w越えのメインマシンを常時稼働させるのがどうにももったいないオバケなので、1号機を8サーバにして少し安心した私であった。


VMwareも良いんだけど英語できないとキツイ。リージョンを日本にしても英語で語り掛けてくる。最初はオンライン研修も英語しか無いんだと思って英語で受けていたくらい英語中心主義だ。MSの自動機械翻訳も迷惑だけど、英語は勉強しておきましょう、と思いました。

ハッカ-・ジャパン

ハッカージャパン(HJ)休刊なんだね。
隔月で11月号出たと思ったら休刊なんだそうだ。
出版業界も大変だね。

そもそも、ブヒ的な連載コミックとか、一周遅れのツール特集とか中途半端感があったのだが、日本では数少ないセキュリティ専門誌として、そこそこ重宝していたのだよ。
PCジャパンとかもっと古くはDr.ドブズ・ジャーナルとか、テクノロジー系の専門誌ってきついんだなあ。一般人には「タダでダウンロードしまくり」とか「TVをただで見る方法」みたいな文句を並べたてるwindows10000000%(笑)とか全然ラジオじゃないラジオ・ライフで良いんだもんね。

逆に業界人向けにはSoftwareDesignとかLinux系の専門誌も有るし、HJの立ち位置は厳しかったんだろう。CTFみたいなハッカーイベントも市民権を得はじめ、セキュリティの専門家のインタビューなんかは面白かったんだけどな。無くなったから困るかって言うと、そもそもKaliのディストリだってネットに転がっているわけで、そんなに困らないのかも知れない。
ただね、HJがグレーゾーンのベンチマークってところも有ったので、これからは(当局に)十分気を付けてフォレンジックの練習をしたりしないとね。
あ、ソーシャル・エンジニアリングについて扱う紙媒体が無くなったのか。

電子出版で復活してくる予感はするんだが、取りあえず関係者の方お疲れ様でした。

アフガン問題解決! windows7の電話認証(アクティベーション)の効率化


仕事がらみで、大量のPCの展開を行う必要が有るのだが、AIKを使ったSYSPREPや


デフォルト・プロファイルのコピーなどは手順を確立できた。

問題は、アクティベーションだ。

KMSサーバが立てられないし、ネットワーク接続がキッティング後でないとできないため、アクチだけ先に済ませるためにはMAKプロキシも現実的ではない。


かと言って、電話認証をするとして、slmgr.vbsを使ってコマンドラインで済まそうとすると、IID(インストールID)が連続した数字で表示されるため、間違わずに区切って読む自信が無い。


何か良い方法は無いかなあ、と家で調べていたのだ。

それこそ、件のVBSを改造しちゃうか、くらいのイキオイだったのだが、ひょんな事から

楽な方法を見つけちゃったのだ。


簡単に言うと、コマンドラインで"slui 04"と叩く。もちろんバッチにするだろうが。

slui.exeって言うプログラム(プロセスの説明では「Windows ライセンス認証クライアント」だ)

に"04" と言う引数を付けて、認証ウィザードの特定画面を強制的に表示するのだな。

ここまでは知っていたのだが、「最も近い場所」をどうやって「日本」にしようか、

悩んでいたのだ。デフォの「アフガニスタン」ではランボーが出てきたりしてマズい様な

気がしたのでね。

これも別アプリからKeyをSendして操作するか、とか考えていたのだが、

有るとき何気なくそのまま[Enter]キーを叩いた訳だ。


  [Enter]キーと言えば、ひとつだけ色の違う「秋田県の形のキーです」と言うのが、

  初心者向けインストラクターをやる時の私の持ちネタなので、真似しないように。


そしたらさ、ランボーが出てくるわけでもアフガニスタンの言語になる訳でもなく、

単に日本の電話番号が出ないだけで、フツウの認証手続き画面になるんだな。

これなら、自動化しなくてもいいじゃん。


で、手順のメモ。


1.コマンドプロンプトで”slui 04”[Enter]

 もちろん、管理者権限で、だ。面倒だから。



2.「Windowsのライセンス認証」画面で[Enter]

 これが「アフガン問題」だ。








3.ライセンス認証手続き画面を見ながら0120-801-734に電話する。

 社内なら0発信を忘れずに。携帯でもOKだ。






 IVRの自動応答に対しては、1、1だったかな。

 後はウィザードに従って9つの数字の組を入力し、A~Hを埋めるだけだ。



 これをやる時にはヘッドセットが有ると便利なのだ。

 音声を聞きながらプッシュボタンを押すからね。

 社内のPHS用のヘッドセットは本当に便利なのだよ。

 内線で電話しながらサーバの操作もできる。

 もちろん、ハンズフリー機能でも良いけどね、なんかプロっぽいだろ。

Software Design


電子書籍で言えば、そこは餅は餅屋、週刊アスキーが週刊No.1だとか。
週刊アスキーがコンピュータ専門誌かと言われれば、昔はともかくコモディティ・レベルでメイン寄りのサブカル誌にしか見えないんだけど、ね。


そこで、Software Design誌ですわ。IT屋って出版された時点で陳腐化してると言うドッグ・イヤー業界なので、雑誌の立ち位置って結構微妙だ。

他の業界なら、数年前にこんなのが流行ってたなあ、なんて循環もあるわけでバックナンバーにもそれなりの価値がある。

で、この雑誌。2001年から12年間のバックナンバーをまとめて出版しやがったわけです。これが結構面白い。さらに何の保護もかけていない。
で、おまけの筈の雑誌部分でLinuxを中心としたOSS(Open softwareね)を特集してて読み物としても見識が高い。読み返してみると12年前の技術文書がそんなに色あせてないのね。確かに、離合集散はしても技術自体はそう大きく変わっていないのかもしれない。
次男の自由研究で8ビット・マイコンを触ったのだが、懐かしさは有ったが違和感は無かった。そう言う事なんだな。
OOP(オブジェクト指向)とかデータ指向とか目先の事に過ぎず、量子コンピュータまではパラダイムが変わらないのだろう。

------

電子書籍について書いておくか。
前にも書いたけど、電子書籍、どうせ電子入稿したものを印刷して配送して余ったら捨てるんだから、早いとこ電子流通させれば良いと思う。
余計な取り次ぎの経費も無くなるし、紙代だって...
で、例のバックナンバー100円なんだけど、どうも電子書籍も取次が有って、そこが今回のセールも仕切っていたようだ。複数の電子書店が同時にセールやってたから間違いない。さすがに買い比べる事はしないが、電子書籍自体の機能も同等のようだ。
結局巨大資本のコントロール下に置かれるのだな。
だが、AppleのNewsStandなら定期購読が半値の1冊450円とかメリットは有る。何よりRetinaでの拡大機能は「老眼にはありがたい」

これが何よりの訴求力なのが悔しいが、世の中に逆らって3rd-iPadの増強を図っているオレなのだった。iPhoneやTouch5じゃ字が読めないのだよ。

ForeFront Endpoint Protection


MS製品のウィルス対策ソフトでForeFront Endpoint Protection(FEP)ってのが有る。


たぶん有償なのだが、私は包括的な契約により使用許諾を得ている。

もう改悪に改悪を重ねられて消滅に至った「TechNet Subscription」ってヤツなんだが、

私の契約時には「ほぼ全て」のOSやAPを「検証目的にか限り永久に」使用許諾して

くれていた。趣味を兼ねて大枚をはたいて契約していたわけだ。


「検証目的」であるから、日々の運用で使ったり業務で使ったり、ましてやバラ売りしたら契約違反だ。だが、IT屋としては大変有り難い制度だったのだ。

どこぞの大陸ではライセンスキーをハックしてジェネレータで生成したキーを売ったり、XPを改変して中国語OSとしてオマケに付けるのが普通なんだそうだ。


で、件のFEPなんだが、スタンドアロン版クライアントが8にはインストールできなかった。

MS様もこれではマズイと思ったのか、修正版を出したのね。

MSではKB(knowledge base)ってのが技術情報なんだが、そこで対策されたパッチもKBなんとかっていう訳だ。

そんで早速ダウンロードしてみるとインストーラになってる。

これ、サーバで一括管理するのをウリにしているので、要らないものが入ったりする。

いくら検証用のVMと実機を合わせると10数台になるとは言え、仕事で必要な環境とは違っちゃうのでクライント版だけ入れたい。で、クライアント版ってインストーラ1個なんだよ。ある方法でそれだけ抜き出した。(詳しくは聞かないでくれ)

はああ、これで8でも検証できるわあ、と安堵したら閃いた。


製品版持ってなくても、このインストーラだけでインストールできるじゃん。

こういうトコ、MSって抜け作なんだよなあ

....ま、無償版のEssentialsに毛が生えただけだから良いか。

良い子は真似しちゃいけませんぞ。

MS相手に出るとこ出て戦えるだけの暇とカネが有れば別だが。

Oracle VirtualBox で Windows Server 2008 R2 を動かす


Oracle VirtualBoxは大変使い勝手の良い仮想化ソフトだ。

8の少ないアドバンテージである、「クライアントHyper-V」も良いのだが、

その他が残念なので私は7のUltimateに戻してしまった。



で「VMを何に使うか」なのだが、主に仕事と趣味を兼ねたOSの調査と評価に使う訳だ。

一番はインストール手順をマニュアルにするために、VM上で撮れる画面のスナップショットが大変便利なのだ。実機ではこうはいかない。VirtualBoxはこの機能のサポートが手厚く感じる。

次に、いつもAdministrator権限で使っているため、ユーザ権限で使う場合「できない事」が多くてスクリプト等が動かなかったりするのだ。それで、実機検証用にVMが大変ありがたい訳だ。


久しぶりにServer 2008R2 Standardでドメコンを立てる必要があったので、片手間にインストールしてみた。(もちろん正規品だよ。)

その前に7をインストールした時には、ドライバ関係もノー・ケアだったが、2008R2だとネットワークドライバとオーディオ・ドライバが入らない。

それ以前にインストールで躓いたのだが。



そこでメモ。



1. 新規VMを作成する際にOSのバージョンを[windows2008 (64Bit)]とする事。

2. 上記を[other windows]にすると、後から[windows2008 (64Bit)]にしても

  いくつかの設定で不具合が出る模様。

  以下、その対策。



(1) [システム]の[拡張機能] で [IO APICを有効化(I)]にチェック。

   これをやらないと、インストーラで「0xc0000225」エラーで止まってしまう。







(2) ネットワークドライバだが、以下の設定になっていた。

   PCI\VEN_1022&DEV_2000&SUBSYS_20001022

   これはAMDの 「PCnet Fast 79C971」の様なのだが、ドライバが落とせない。

   実機ハードなら、ここは力技が必要だ。

   でも大丈夫。VirtualBoxなら詳細設定で仮想ハードを変更できる。

   7のドライバ情報を参考に、アダプタータイプを[Intel PRO/1000 MT Desktop (82450EM)]に変更する.








(3) オーディオコントローラも同様に、[SoundBlaster 16]に変更してやる。







こんな感じでデバイスドライバも全部2008R2の標準ドライバでまかなえるわけだ。



そんで、「Guest Additions」をインストールして、仮想マシンの[デバイス]-[クリップボードの共有]を[双方向]にしてやれば、ライセンスキーなどをいちいち入力せずに済む。

ITこじらせてタヒぬ、とは

言わずと知れたブラック中のブラックであるIT業界。
肩書がプロジェクトマネージャだろうがコンサルタントだろうが、ITそのものが主役である状況は殆ど有り得ない。99%客が居て、客の業務に貢献しなければならない。
簡単に言えば同じモルタルを練って何かを作っても、芸術家では無く、土方なのだな。

自慢するわけではないが、私はこの道25年以上、国家資格である高度情報処理技術者資格も2つ持っている。MicrosoftのMCPやMSTSだって持っている。
関係ないが書道は小学生六段、日本珠算連盟4級、日商簿記検定3級だ。

それでも、IT屋は難しく、何か良い仕事が有れば早く辞めたいのだ。
客あしらいも苦手ではないし、ITそのものは好きなんだけどね。
とにかく業界の構造が嫌。商流だ、プライムだって中抜きの構造の上位を目掛けて汲々とする営業方針。まさに建設業と同じ構造の多重請負。建設業界よりタチが悪いのは、ノープランで突貫工事をして出来上がったものが予定通りか、検証する術すら確立されていない。
マネジメントだ、受け入れテストだって、人掛かりの精神論が跋扈しているのが何よりの証左だ。

もちろん、発注側のユーザもITシステムに対するプランやビジョンを持っていないのが最初の間違いであり、それを根拠の無い価格競争の末、多重請負やオフショア(笑)などで低品質で作り上げるベンダーの姿勢が次の間違いだ。そして出来上がったクソ・システムを評価する体制すら無いのが最後の間違いだ。

まあね、ラインから外れた一IT屋でなければこんなこたあ言えないのだがね。
と言う事で、「終わった」IT屋の戯言を綴るワケ。
因みに「ITこじらせて...」はルーキー時代にある外注さん(この言い方も嫌だね)が給与遅配とかで貧乏してて、無断で休むと「あいつ、貧乏こじらせて死んだんじゃねーか?」って陰口叩いていた先輩の言葉からいただきました。