TFSカスタムアクティビティの展開:セットアッププロジェクトの作成

作成したアクティビティを使うためには、
 ・VS/TFSが参照するフォルダにdllが格納されていること
 ・グローバルアセンブリキャッシュ(GAC)に登録されていること
が条件になります。(詳細については「Customize Team Build 2010 – Part 7: How is the custom assembly found?」)

参考にさせて頂いた「C#.NETでいく? TFS2010ビルド テンプレートのカスタマイズ(3)」とか「Ewald Hofman Customize Team Build 2010 – Part 7: How is the custom assembly found?」では、ビルドコントローラーに対してカスタムアセンブリを参照させる方法で解決していますが、複数のカスタムアセンブリを使いたくなった時にややこしくなるのが嫌だったので、ここではセットアップを作成して登録する方法をとります。

ソリューションに対して、セットアッププロジェクトを追加します。

Act022


Act023

自動的にエディタが起動されますので、「対象コンピュータのファイルシステム」を右クリックし、「特別なフォルダーの追加」-「グローバルアセンブリキャッシュフォルダ」を選択します。

Act024

GACに登録するファイルとして、プロジェクトでビルドされたファイルを指定します。

Act025


Act026

次は、セットアップ時の動作を少しだけ変更します。
通常、セットアップ実行時に「このユーザーのみ」と「すべてのユーザー」という選択肢が表示されますが、アクティビティはユーザ単位で使う/使わないというコントロールはしない(はず)ので、必ず「すべてのユーザー」でインストールするように変更します。
セットアッププロジェクトを右クリックし、「表示」-「ユーザーインターフェイス」を選択します。ユーザーインターフェイスのエディタ画面で、「インストール」-「開始」-「インストールフォルダー」のプロパティにある「InstallAllUsersVisible」をTrueに変更します。

Act034


Act035

ここで、セットアッププロジェクトをビルドすると、こんなエラーになってしまいました。

Act028

すっかり忘れていましたが、GACに登録するアセンブリは、厳密名を持っていないと登録できない仕組みになっています。(いわゆる「DLL Hell」の解決)

これはちゃんと対応しないといけないので、厳密名をアセンブリに付与します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください