とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

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

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

2012年1月20日 #

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のマクロって次のバージョンには入ってないっポイんですわ。。。

posted @ 16:28 | Feedback (4)