:彼らはMSBuildのフォルダを定義した部分で
ルックまさにこの(より:)
のようなものでwxiファイルを作成します。
<!-- Product name as you want it to appear in Add/Remove Programs-->
<?if $(var.Platform) = x64 ?>
<!-- Product name as you want it to appear in Add/Remove Programs-->
<?define ProductName = "Custom MSBuild Tasks (64 bit)" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductName = "Custom MSBuild Tasks" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
<!-- Directory name used under MSBuild -->
<?define InstallName = "CustomTasks" ?>
コンポーネントを定義する必要がある場合:
<Fragment Id="ComponentsFragment">
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="MSBuildFolder" Name="MSBuild">
<Directory Id="INSTALLLOCATION" Name="$(var.InstallName)">
... Your custom .Targets and tasks go here
ありがとう。私が思ったように、MSBuildのパスはインストーラにハードコードされています。私は64と32ビットの間で切り替えるコードが好きです。しかし、私たちは現在、テスト対象の64ビットハードウェアを持っていないので、私が書いたものを検証できないときにサポートしようとしているのかどうかはわかりません。 –
True :)また、ビジュアルスタジオ(2005年と2008年)にタスクスキーマを統合したい場合、私はWiXコードを使って、別の質問をして回答を投稿します。 – si618