月別アーカイブ: 2015年02月

2 posts

Windows Installer XML Toolset (WiX Toolset)

Windows環境でプログラム開発をすると、次にはユーザがそのプログラムを利用できるようにしなければいけません。

最近、マイクロソフトはこの問題に対して、「クラウドコンピューティング」という新しい提案をしています。「クラウドコンピューティング」では、ユーザに対するソフトウェア・サービスをすべてインターネットを介して提供するというものです。

すなわち、開発したアプリケーションソフトをユーザのコンピュータにインストールするのではなく、インターネット上のサーバーコンピュータにインストールして、ユーザはこのサーバーにアクセスして、プログラムを使います。

この考え方には長所がありますが、ソフト提供者からすれば負担が大きいので、あらゆるソフトがこのシステムを利用するには、まだ時間が必要だと思います。

一方従来型のコンピュータソフト利用形態「オンプレミス」では、ユーザはソフトをすべて自分のコンピュータにインストールしなければいけません。

これはこれで面倒ですが、「クラウド」がその地位を確保するまでは、まだまだ需要は大きいと思います。

前置きはこれくらいにして、オンプレミス環境下で、開発したソフトをどのようにユーザ環境にインストールするか。

このブログでも何度か取り上げましたが、インストールのための専用プログラムが必要です。

専用ソフトとして有名なのはInstallShieldで、そのほかにもいくつかあって、私はInstallAwareというソフトを使っています。

ただし、これらのソフトは高価で、更に始末が悪いことには頻繁に有料バージョンアップするので、ちょこちょこっとインストール・プログラムを作成したい人は、もっと安直な手段はないものかと考えます。

これまでマイクロソフトは、Visual Studioでセットアッププロジェクトを作成できるようにして、簡易なセットアッププログラムは、これを使って作成することができましたが、VS2012からはこれがなくなり、InstallShieldの簡易版を使うようになっています。ただし、これは今一つ機能的に不満があります。

マイクロソフトは、Windows Installer XML Toolset(WiX Toolset)を無料で公開しました。私もWIXを使いたいとずっと思ってきたし、このブログでも「マスターします」と宣言したのに、いまだに実現していません。

今回はなんとしても、ものにしたいと思っています。ただし、WiXのすべてを理解しようとは思っていなくて、自分にとって必要な部分まで理解すれば「よし」としたいと思います。

目標は次の通りです。

1. 開発したアプリケーションを過不足なくユーザコンピュータにインストール/アンインストールする
2. インストールの途中でシリアル番号の入力を求め、その成否をチェックする(シリアル番号生成のアルゴリズムを決定する)
3. プログラムが動作する環境がターゲットコンピュータに整っているかどうか調べ、もしなければ自動的に不足ソフトをインストールする

WiXの習得を難しくしているのは、日本語のよい参考文献がないことです。私が拠り所とするのは、次のものです。多分これで何とかなるとおもいます。

1. 「CodeZine」 「WiXではじめるWindows Installer作成入門」(WEB 2006年 日本語)
2. 「WiX チュートリアル (日本語訳)」(WEB 2011年 日本語)
3. 「WiX 3.6:A Developer’s Guide to Windows Install XML」(単行本 PACKT 2012年 英語)
4. 「WiX-users — General discussion about the WiX toolset」(Wix-user メーリングリスト 英語)

 

 

 

WiXのすべてをご案内できませんが、私自身がつっかえた、がなんとか理解したポイントを中心にご紹介していきたいと思います。

そして、実務で使えるレベルになればと思います。

次のテスト環境を使います。

1. WiX Toolset V3.9
2. WiX Edit V0.7.5
3. Visual Studio Premium 2012

Visual Studioインストール後に、WiX Toolsetをインストールすれば、VIsual Studioの中でWixプロジェクトが作成できます。

Visual Studioは無料のVisual Studio Express(Visual Studio Community )に、WiX Toolsetを組み込むことができると思いますが、テストしていません。

益井康一「日本はなぜ戦争を始めたか」

益井康一[日本はなぜ戦争を始めたか](光人社 2002年)を読みました。
氏は以前ご紹介した[なぜ日本と中国は戦ったのか]の著者です。

前回も述べましたが、著者は毎日新聞の従軍記者として、
満州事変、日支事変で日本軍と行動を共にしていますので、
例え誤認があったとしても、作為的なねつ造はないと安心して読むことができます。

本書は以下の3部からなっています。

第一部 満州事変の真相
第二部 盧溝橋事件の真相
第三部 日米開戦の真相

何れも、日本の政府・軍の動きを細かく追っていますが、
逆にいえば相手国・中国や英米やロシアの記述は希薄です。

満州事変と盧溝橋事件は、日本が主導的にかかわったので、
ほぼここで書かれていることは真実なのだろうと思いますが、
日米開戦については、アメリカ・イギリス・ソ連が主導したにも関わらず、
これについても日本の動きばかりを追っていますので、
これでは「日米開戦の真相」はわからないと思います。

 

この本を読んで強く思うのは、
明治の昔から、もしかしたら江戸時代から、
ロシアあるいはソ連が、いかに深く日本の外交政策にかかわってきたかということです。

ソ連は大きな国土を有していますが不凍港が少ないので、
どうしても大海に接する温暖な領土が欲しかった。
それは今日でも変わることのない悲願だと痛感します。

ロシアは日露戦争の結果、満州・朝鮮の権益を日本が譲渡しましたが、
その後も、革命ソ連はしつこく満州への進出の機を伺っていました。

そんな中、日本は満州にたくさんの日本人を送り込み、
同時に南からたくさんの漢人も流入してきました。

おそらく満州では、当時ゴロツキが跋扈し利権や勢力拡大に明け暮れていたのでしょう。

そのような中、張作霖は貧しい家庭から満州の最大勢力になり、
遂には1926年12月、北京で自らが中華民国の主権者であると大元帥を名乗りました。

時あたかも、蒋介石の南軍は張作霖の北軍の討伐の攻勢をかけてきます。

当時日本は、山東半島青島の権益をドイツから受け継ぎ、
この地に多くの日本人を居住させていましたが、
ここは南軍の北京への進軍の通過点になるため、
この地が戦場になることを恐れた日本は、
張作霖に満州へ引き上げることを強く要望します。

張作霖は当初拒んでいましたが日本の説得に応じて、
1928年厳重な警護のもとに奉天に向けて出発します。

ところが、奉天に到着する直前、
列車は爆破され、張作霖は大けがを負い、間もなく死亡します。

筆者は、張作霖爆殺は関東軍参謀・河本大佐の策略だとしています。
これは通説で、多くの本がこのように書いています。

しかし、Wikipediaでみるとソ連陰謀説があるようです。
益井は本書の中で、列車は転覆したと書いていますが、
Wikipediaでは張作霖の車両は転覆せず、天井は吹き飛んだが床は残っていたといいます。

歴史の通説もどこまで本当なのかとわかりません。
この通説は東京裁判で「証明」されましたが、
東京裁判がGHQに都合のいいように歪曲されたものなので、
今になってみると東京裁判そのものを徹底的に検証する必要があります。

さて、張作霖殺害に続く満州事変では、
石原莞爾が主導する関東軍が暴走したのは間違いないようです。
軍法会議にかけて厳重に処断しなければいけなかったにも関わらず、
軍中央は、「まあ、いいか」とやり過ごしています。

 

盧溝橋事件から日中全面戦争にずるずると入っていきます。

この事件は、1937年北京近郊の盧溝橋で、日本と国民党軍とが衝突した事件ですが、
これは現在では、「コミンテルンが日本と中国・国民党が戦うように仕組んだものだ」
とする見方が大勢のようで、 この本でもその文脈で書いています。

すなわち、盧溝橋近辺に駐在していた日本軍は、
ソ連との衝突に備えて、国民党軍に予告し、夜間演習をしていましたが、
夜陰に紛れて発砲があります。

日本軍は国民党軍に事件の詳細を求めますが、国民党軍は「心当たりがない」と回答してきます。
日本軍も戦線拡大を嫌い、事態収束に向かおうとしますが、その後も散発的に発砲が続くなか、
国内では、軍中央はバタバタ、ラジオは跳ね上がり放送をするなどで、
日中双方が相互不信に陥り、遂に日中の全面戦争にのめり込んでいきます。

本書では、当事件での日本軍と国民党軍の前線でのやり取りや、
軍中央の動きを細かく追っています。

第三部の「日米開戦の真相」では、当時の日本の政府、軍の右往左往が細かく書かれています。

 

一読して色々なことを考えます。

まず第一に、日本という国は、戦争という国の重大危機を前にしても、
どうしてこのように右往左往するするのだろう、
と情けなくなります。

軍中央は、関東軍の行動に激怒してみたり、黙認してみたり。
中国軍と和解しようとしたり、猛烈に攻撃してみたり。

大正(1912年)から終戦(1945年)までの約30年間に、
約30の内閣が成立と解散を繰り返しています。
平均で毎年毎年、総理大臣が入れ替わっています。

先の戦争の責任を一身に受けた東条英機は、3年近く総理大臣を務めていますが、
彼にしても欲しくて首相になったわけではありません。

優柔不断な近衛文麿が総理の場を投げ出したから、
お鉢が回ってきたのです。

ヒトラーのように、自ら政権を奪ったのではありません。

日本の大正・昭和のリーダーは何時も半身に構え、自信なげに逃げ腰です。
骨のある政治家がいなかったのは、なぜなのだろうと不思議に思います。

とはいえ、軍が主導した挙国一致の新体制=大政翼賛会の時代に、
身をもって反対した政治家が少数ではあったが、
いたということも事実だし、彼らの信念には畏敬の念を持ちます(斎藤隆夫、中野正剛等)。

さて、日本が軍の独断を許した最も大きな仕組みは統帥権です。
これは、大日本帝国憲法下における軍隊を指揮監督する最高の権限で、
唯一天皇が持つと定められていました。

したがって、戦争についての最後の判断に、
文民政治家は立ち入ることも、口出しすることもできず、
これをいいことに軍は天皇に都合のいい報告をし、
天皇を介して国を思う通りに動かしたのです。

陸軍大臣、海軍大臣はそもそも軍の出身だし、
東条英機は陸軍大臣の経歴者でした。

要は、大日本憲法の下では、
軍は天皇を利用して好き勝手ができる仕組みがあったのです。

それにしても(もしかしたら「だから」)、
日本が戦争に前のめりになっていった時、それに反対する政治家も僅かしかいなかったし、
新聞・ラジオはむしろ、軍を煽ったという事実を忘れてはいけません。