とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

GUIDどうしてる?

WiX でインストーラを書いていて一番大変なのがGUIDの生成。ファイルが1つとか2つならまだいいですが、コンポーネントが100とか200とかざらにあるのがデスクトップアプリです(某ソフトのインストーラは477もありました)。

インストーラの作成はInstallShieldだよ!って人はいいんですけど、そうじゃなくてVSにWiX入れてガリガリ書いてます!って人だと何が大変って、GUIDを用意するのが一番大変だったりします。

ということで、さっとセットするためのマクロ。

  1. Sub InsertGUID()   
  2.   If IsNothing(DTE.ActiveDocument) Then  
  3.     Beep()   
  4.     Return  
  5.   End If  
  6.   DTE.UndoContext.Open("InsertGUID")   
  7.   Dim newGUID As System.Guid = System.Guid.NewGuid()   
  8.   DirectCast(DTE.ActiveDocument.Selection, TextSelection).Text = newGUID.ToString().ToUpper()   
  9.   DTE.UndoContext.Close()   
  10. End Sub  

わずか10行(オブジェクトを宣言しないでそのままにすれば9行)ですが、これで開発効率はおそらく数億倍は上がります。<いいすぎ!

実際ほかのツールの利用と違ってクリップボードは変更されないし、UNDOも一発で戻るし、ショートカットに登録しておけば、1アクションでセットできるし。

 

ただ、問題がないわけではないんですよねー。VSのマクロって次のバージョンには入ってないっポイんですわ。。。

投稿日時 : 2012年1月20日 16:28

コメントを追加

# re: GUIDどうしてる? 2012/01/20 17:31 aetos

Windows SDK のコマンドプロンプトを立ち上げて、
uuidgen /n100
で100個生成できますよ。

って、コピペが面倒くさいって問題?

# re: GUIDどうしてる? 2012/01/20 21:40 とっちゃん

来月の勉強会で実際に経験できるから、参加してやってみるといいよ。

# re: GUIDどうしてる? 2012/02/24 18:01 Shiraga

で、aetosさんじゃないですが、体験してみました。
(外出られなかったので、コピペで頑張ってみました)
...うん、めんどくさいです(^^;

ショートカットまで終わらせていれば楽ですねー。

# re: GUIDどうしてる? 2012/02/24 18:37 Shiraga

わー、2重投稿....。
すみません。

タイトル
名前
URL
コメント