2012年1月23日
#
2/18 のわんくま同盟東京勉強会で「ステップバイステップで作る本格インストーラ(WiX編)」というのをやります。現在、msi-ml でネタ募集スレが立っています。根っこはこちら。
これから作らなければならないとか、作ってみたけど挫折した、あるいは作ってみたい(単なる興味本位)なんて人でも、実際に一つ作ってみて「こんな感じなのか。」というのが実感できるようなものにしたいと思っています。
もちろん、今まで両手でも数えきれないくらいインストーラを作ってきた!という人もOK。むしろそういう人は現地で手伝ってくださいw<おい!
実際のところどこまでやれるか全くわからないので、私も当日が楽しみです。
今回は、わんくまでも初めての形でのハンズオン形式で、マシンが必須です。持ち歩きの都合を考えると、ノートPCがいいと思いますが、デスクトップPCでもかまいません。ただし、その場合はモニターごと持参してください。
インストール対象アプリは MISAO(http://misao.codeplex.com/)。とはいえ、あくまでもサンプル(素材からは作れないので)なので、MISAOではなく、自作アプリや、社内ツールなど、個人的に作りたいものを持ってきてもらってもOKです。ただし、Windows用のデスクトップアプリ限定です。
もちろん、実際の業務アプリでも構いません(持ち出しに問題がないなら)し、WiXの代わりにInstallShield(ただしPro以上)でやってみたいなどもOKです。
実際、コードを手入力するのか、マウス操作主体で作業するかの違いを除けばほぼ同じものが作れます。もちろん個別の操作に関する質問なども答えられるものはその場で答えていきますよ。
お申し込みは、わんくま同盟 東京勉強会 #68 から。質問やネタなどは、msi-ml までどうぞ。
なお、現在わんくまサーバーが完全復旧できていないため、左上の「連絡をする」するからのメールは送信できませんのでご了承ください。
ネタ元:The wixtoolset.org online. & The new wixtoolset.org and weekly builds
wixtoolset.org という随分前から工事中だった新しいポータルサイトがようやくオープンし、それと一緒に Weekly Releases も再び始動したようです。
Weekly Releases のところに、「They are purged irregularly.」という表現があるのでいつまでもあると思うな。。。ということのようですので、プロジェクトで利用する場合は、必ずバックアップを自分で保持しておく必要があると思ったほうがいいでしょう。
バグトラックやMLは従来通り SourceForge で、マイルストーンリリースなどは codeplex で行うようです。
最終的には、wix.sourceforge.net を整理してここに集約させるのかな?
ところで。。。WeeklyRelase のフィードはどこ?<おい!
2012年1月20日
#
WiX でインストーラを書いていて一番大変なのがGUIDの生成。ファイルが1つとか2つならまだいいですが、コンポーネントが100とか200とかざらにあるのがデスクトップアプリです(某ソフトのインストーラは477もありました)。
インストーラの作成はInstallShieldだよ!って人はいいんですけど、そうじゃなくてVSにWiX入れてガリガリ書いてます!って人だと何が大変って、GUIDを用意するのが一番大変だったりします。
ということで、さっとセットするためのマクロ。
- Sub InsertGUID()
- If IsNothing(DTE.ActiveDocument) Then
- Beep()
- Return
- End If
- DTE.UndoContext.Open("InsertGUID")
- Dim newGUID As System.Guid = System.Guid.NewGuid()
- DirectCast(DTE.ActiveDocument.Selection, TextSelection).Text = newGUID.ToString().ToUpper()
- DTE.UndoContext.Close()
- End Sub
Sub InsertGUID()
If IsNothing(DTE.ActiveDocument) Then
Beep()
Return
End If
DTE.UndoContext.Open("InsertGUID")
Dim newGUID As System.Guid = System.Guid.NewGuid()
DirectCast(DTE.ActiveDocument.Selection, TextSelection).Text = newGUID.ToString().ToUpper()
DTE.UndoContext.Close()
End Sub
わずか10行(オブジェクトを宣言しないでそのままにすれば9行)ですが、これで開発効率はおそらく数億倍は上がります。<いいすぎ!
実際ほかのツールの利用と違ってクリップボードは変更されないし、UNDOも一発で戻るし、ショートカットに登録しておけば、1アクションでセットできるし。
ただ、問題がないわけではないんですよねー。VSのマクロって次のバージョンには入ってないっポイんですわ。。。
2012年1月1日
#
新年あけましておめでとうございます。本年もよろしくお願いいたします。
まだわんくま鯖はダウンからの完全復帰は果たせていませんが、少しずつ改修作業を進めています。
ま、アカウントが多すぎて手作業じゃできないとか、OS変わったのでいろいろちがうとかがあってサクッと進められないのが現状のようですが。。。
去年はなんだかんだとアウトプットできていなかったので今年はもう少しアウトプットを増やしていきたいですね。
ということで、今年もよろしくお願いいたします。
2011年12月16日
#
MSBuild には、ブートストラッパーを生成するコマンドが用意されています。
これを使うと、VSのセットアッププロジェクトと同じ必須コンポーネントをインストールするブートストラッパーを作成できます。
設定のUIがないため、自分で記述する必要はありますが...
ということで、VS2010用の設定例。
<Target Name="AfterBuild" Inputs="$(MSBuildProjectFullPath)" Outputs="$(OutputPath)Setup.exe">
<ItemGroup>
<BootstrapperFile Include=".NETFramework,Version=v4.0,Profile=Client">
<ProductName>Microsoft .NET Framework 4 Client Profile (x86 および x64)</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Visual.C++.10.0.x86">
<ProductName>Visual C++ 2010 ランタイム ライブラリ (x86)</ProductName>
</BootstrapperFile>
</ItemGroup>
<GenerateBootstrapper
ApplicationFile="$(TargetFileName)"
ApplicationName="アプリケーション名"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative"
CopyComponents="true"
Culture="ja"
OutputPath="$(OutputPath)" />
</Target>
ちなみに...取り込んでいるのは
- Microsoft .NET Framework 4 Client Profile (x86 および x64)
- Windows Installer 3.1
- Visual C++ 2010 ランタイム ライブラリ (x86)
の3つです。
ApplicationName 属性と必要な必須コンポーネントのリストを変更して、wixproj の最後に貼り付けてビルドするだけ。
その他細かな設定項目などは、MSDNライブラリのGenerateBootstrapper タスクを参照してください。
2011年12月14日
#
ネタ元:Twitter Notify なるものを入れてみた。。。
ということで、もう一回テストを兼ねて投稿してみるなど。。。
ブログ書いたよーって、手動でつぶやくのは面倒なので、プラグインを入れてみた。
http://plugins.live.com/writer/detail/twitter-notify
果たしてどんなふうにポストしてくれるんだろう?ってか。。。アカウント設定の項目が...ないよ???
2011年12月6日
#
ネタ元:[12/17 (土) 東京] わんくま同盟 東京勉強会 #66
東京はもちろん、わんくま同盟勉強会としても年内最後の開催になります。
内容は年末を飾るにふさわしい内容です。
今年ようやく日本にも上陸を果たした、Windows Phone 7、そして秋のBUILDで初お目見えとなった、Visual Studio 11(Developer Preview)。
Windows Phone 7 のフロントであり、Windows 8 でデスクトップにも来るらしいという、Metro Style。
今年トレンドとして出てきた技術がそのまま、次の世代に乗っかっていく形になりそうなセッションです。
もちろん、懇親会も今年最後の開催です。
わんくまサーバーのハードウェア障害でまだごたついてますが、問題なく開催にはこぎつけそうです。
ということで、最新版のスケジュールを。。。(募集サイトの告知はロールバックしちゃってるのよねw)
- 10:20 ~ 10:40 開場・受付開始
- 10:40 ~ 10:50 わんくまについて
- 10:50 ~ 11:40 「とりあえず作ってみよう Metro Style アプリケーション」by インフラジスティックス 池原さん Lv.1くまー
- 11:40 ~ 13:10 おひるごはん
- 13:10 ~ 13:40 ライトニングトーク
- 13:40 ~ 14:40 「WPF/Silverlight視点で視る MetroスタイルのXAML」by グレープシティ八巻さん Lv.2くまー
- 14:50 ~ 15:40 「Windows Phoneアプリ開発 Marketplaceが教えてくれたこと」by セカンドファクトリー杉下さん Lv.1くまー
- 15:50 ~ 17:00 「Windows Phone アプリケーション、デモで見る開発のポイント」by マイクロソフト大西さん Lv.1.5くまー
- 17:10 ~ 18:00 「Visual Studio 11 Developer Preview をさわってみよう」by えムナウ Lv.1くまー
- 18:20 ~ 懇親会
LTも絶賛募集中です。ついでに来年以降のスピーカーもw<おい!
2011年11月25日
#
ここの所、blogs.wankuma.com 全域がSPAMコメントの餌食になっているようで...それが原因というわけではないでしょうけど、メールサーバーまで落ちてるんですよねぇ。。。
ってことで、ささやかですがSPAMコメントを削除するなど。。。という地味なことをやってみました。ま、何が変わるわけでもないのですがねw
2011年11月9日
#
七五三も終わって、あとは年末に向けてという間際のひと段落という時期でしょうか。ええ、我が家にも七歳の女の子がいるので。。。それはそれはまぁ大変。。。
なのはかみさんだけですね。わかります。
じゃなくて、わんくま同盟 東京勉強会 #65 です。
今回は、わんくまでは初登壇の方ばかりです。そして、わんくまアカウントなメンバーは誰一人しゃべりません。それこそわんくまクオリティ。
- 10:20 ~ 10:40 開場・受付開始
- 10:40 ~ 10:50 わんくまについて
- 10:50 ~ 11:40 「レイアウトデザインなんて怖くない!!(仮)」by platoronical a.k.a 荒川智則さん Lv.1くまー
- 11:40 ~ 12:30 おひるごはん
- 13:00 ~ 13:30 ライトニングトーク
- 13:30 ~ 14:20 「Silverlightのインターオペラビリティを試してみた」by tanaka_733さん Lv.2くまー
- 14:30 ~ 15:20 「記憶メディアの話」by claretpunchさん Lv.1くまー
- 15:20 ~ 15:50 休憩時間
- 15:50 ~ 16:40 「LightSwitch ~結局何ができるの?~」by seosoftさん Lv.2くまー
- 16:50 ~ 17:50 「Windows Phone / iOS からWindows Azureを使ってみよう!」by 日本マイクロソフト 鈴木 章太郎さんさん Lv.3くまー
- 18:20 ~ 懇親会
お題目はこんな感じ。
今回も、ここでしか聞けないなぁ。。。と思えるようなものばかりです。中にはおそらくもう二度と(もしかしたらいろいろな都合でビデオ非公開&UST封印になるかもしれない...)見れないようなものもありそう。
ということで、ぜひ会場に足をお運びください。お申し込みは -> わんくま同盟 東京勉強会 #65