web-dev-qa-db-ja.com

WiXx64プラットフォームターゲット

WiX プロジェクトを作成し、プラットフォームを「x64」に設定してビルドしようとすると、ビルド出力で次のようなエラーが発生します。

------ Build started: Project: MyProject, Configuration: Release x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Release'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.
------ Build started: Project: MyProject, Configuration: Debug x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Debug'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.

プロジェクトに出力パスが設定されていないと主張していますが、もちろんあります。出力パスは、デバッグ構成の場合はbin\x64\Debug\に設定され、リリース構成の場合はbin\x64\Release\に設定されます。では、エラーは何ですか?

また、エラーは[エラー]ウィンドウに表示されません。さて、コンパイラのせいにするのは新人の間違いだとわかっていますが、疑問に思い始めています...これはビルドツールのバグですか、それとも愚かなことを見逃していますか?

33
Tim Long

.wixprojファイルをテキストエディターで開くと、x64構成アイテムがファイルの下部(標準のWiXビルドターゲットのインポートの下)にあり、x86構成が上部(インポートの上)にあることがわかります。 )。 x64構成のXMLをx86構成に隣接するようにシフトすると、プロジェクトが両方のプラットフォームで適切にビルドされることがわかります。

52
John Rayner

私も同じ問題を抱えていました。しかし、私の場合、wixprojファイルの形式は正しくありませんでしたが、

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">

完全に行方不明でした。 x86構成のコピーを作成し、保存して、すべて問題ありません。

11
floele

まず、最新バージョンのWiXツールセット(v3.5または現在のv3.6ドロップ)を使用していることを確認してください。これがまだ再現される場合は、バグのように聞こえます。ここにファイルしてください: http://sourceforge.net/tracker/?group_id=105970&atid=642714

0
Rob Mensching