とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

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

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

2011年12月16日 #

.wixproj にVSの必須コンポーネントを入れるブートストラッパーを組み込む。

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 タスクを参照してください。

posted @ 19:28 | Feedback (149)