2

小さなプロジェクトでMicrosoft Team Foundation Service (クラウド内の TFS、以降TFService )のプレビューを使用し始めました。現在、TFService に含まれているオンライン ビルド サービスを使用してビルドをセットアップしています。

私がやりたいことは、ある種のインストーラーを追加することです。私は以前、InstallShield Limited Edition、WIX、および Inno Setup を使用しており、可能であればいずれかを使用し続けたいと考えています。

以前、ビルド プロセスの一部として Inno Setup を統合しました (TFS 2010)。これには、ビルド コンピューターへの Inno Setup のインストールと、inno setup スクリプトを実行するためのカスタム ビルド タスクの追加が含まれていました。カスタム ビルド プロセス テンプレートを作成できるため、最後の部分は TFService でも可能です。

ただし、Inno Setup や InstallShield などのインストールは TFService では機能しないことを認識しています。ビルド コンピューターにサード パーティのソフトウェアをインストールすることはできないためです (アクセスできない未知の仮想コンピューターで実行されているクラウド サービスにすぎません)。 .

私の質問は次のとおりです。TFService で実行されるビルド プロセスの一部としてインストーラーを自動的に作成する方法はありますか? たとえば、ビルド サービスはそのままで installshield プロジェクトをビルドできますか (Visual Studio にはライセンスが含まれています)。または、これを行う他の方法はありますか?

4

1 に答える 1

2

マネージ ビルド エージェントを使用して、WiX と InstallShield を Microsoft TFS Preview クラウド サービスと連携させようとした経験があります。これらのエージェントでは、管理者権限がなく、ソフトウェアをインストールできません。

これは現在、インストールする必要がある InstallShield を除外しています。

ただし、WiX バイナリをソース管理にチェックインし、ビルドの一部としてプルダウンすることは可能です。

WiX は .wixproj ファイル (MSBuild) を使用して、プロジェクトのコンパイル アクティビティを定義します。これは、この方法で展開したときに存在しないターゲット ファイルとその他のプロパティ (レジストリ値を参照) を参照します。ちょっとしたハッキン​​グで、これらすべてのプロパティを取得して、実行可能な値に解決できます。

ただし、まだ残っている可能性のある問題の 1 つ (TFS 管理ビルド環境を考えています) は、MSI ICE 検証スイートをスキップするようにプロジェクトを構成する必要がある場合があることです。ビルド マシンでは、Windows インストーラー サービスが完全に無効になっているため、テストを実行できませんでした。

于 2012-08-06T02:31:19.320 に答える