2011-07-12 10 views
1

WIXを使用している私の変数を動作させるようには思えません。WIX未定義のプリプロセッサ変数

私が使用している:ここでWIXバージョン3.5とVisual Studio 2010

は、私は(これは、Visual Studioからの出力である)取得していますエラーです:

------ビルド開始:プロジェクト:InstallProject、構成:Debug x86 ------ "C:¥Program Files¥Windows Installer XML v3.5¥bin¥heat.exe" dir "c:\ publish \ ems" -cg EMSPublishedFiles - gg -scom -sreg -sfrag -srd -dr INSTALLLOCATION -var env.EMS_PUBLISHDIR -out "C:¥Projects¥ems¥Trunk¥Code¥Installer¥InstallProject¥Fragments¥FilesFragment.wxs" Microsoft(R)Win dows Installer Xmlツールセットハーベスターバージョン 3.5.2519.0 Copyright(C)Microsoft Corporation。全著作権所有。

C:\プログラムファイル\ WindowsインストーラのXML V3.5 \ビン\のcandle.exe - dEMS_PUBLISHDIR = C:\公開\ EMS -DDEBUG -d "DevEnvDir = C:\ Program Files \ MicrosoftビジュアルStudio 10.0 \ Common7 \ IDE \ " -dSolutionDir = C:¥Projects¥ems¥Trunk¥Code¥Installer¥-dSolutionExt = .sln -dSolutionFileName = InstallProject.sln -dSolutionName = InstallProject -dSolutionPath = C:\ Projects \ ems \ Trunk \ Code \ Installer \ InstallProject.sln -dConfiguration =デバッグ-dOutDir =パッケージ\ -dPlatform = x86 -dProjectDir = C:\ Projects \ ems \ Trunk \ Code \ Installer \ InstallProject \ -dProjectExt = .wixproj -dProjectFileName = InstallProject.wixproj -dProjectName = InstallProject -dProjectPath = C:¥Projects¥ems¥Trunk¥Code¥Installer¥InstallProject¥InstallProject.wixproj -dTargetDir = C:\ Projects \ ems \ Trunk \ Coインストール先\ InstallProject \ Packages \ -dTargetExt = .msi -dTargetFileName = EMSSetup.msi -dTargetName = EMSSetup -dTargetPath = C:\ Projects \ ems \ Trunk \ Code \ Installer \ InstallProject \ Packages \ EMSSetup.msi -out C:\ Program Files \ WindowsインストーラーXML v3.5 \ bin \ WixUtilExtension.dll "-ext" C:\ Program Files \ WindowsインストーラーXML v3.5 \ bin \ WixUIExtension.dll "-ext " C:¥Program Files¥Windows Installer XML v3.5¥bin¥WixSqlExtension.dll " -ext" C:¥Program Files¥WindowsインストーラXML v3.5¥bin¥WixIIsExtension.dll "断片\ FilesFragment.wxs

C:プロジェクト\ EMS \トランク\コード\インストーラ\ InstallProject \断片\ファイル\ Fragment.wxs(6,0):エラーCNDL0150:未定義のプリプロセッサ変数 '$(env.EMS_PUBLISHDIR)'。

そのビジュアルスタジオで私が定義されているにもかかわらず、変数がプロパティプロジェクトという点にも注目:Proceessor変数(EMS_PUBLISHDIRを= C:\ \ EMSを公開;)私は、プロジェクトの事前に作成イベント$で変数名を入れた場合(EMS_PUBLISHDIRを)私は空の文字列を取得します。 メモ帳を使用してプロジェクトファイルのディレクトリを確認し、デバッグ/リリースの宣言などはすべてokです。

アイデア?

答えて

1

これはVisual Studioから実行されていますか?私はキャンドルへの呼び出しを見ます、私はVotive内からの私のランでは見えません。ビルドサーバーを使用してインストーラをビルドするときに同様の問題が発生しました。変数は追加レイヤーで失われました。 1)ビルドサーバーレベルで 2)MSBuildレベルで 3)wixprojによって認識されたもの。

1

あなたはWiX変数ではなく環境変数を探しています。

$(env.EMS_PUBLISHDIR) - EMS_PUBLISHDIR $(var.EMS_PUBLISHDIR)変数環境を探します - あなたは-dEMS_PUBLISHDIR = ...キャンドルで、それはウィックス以内に$(var.EMS_PUBLISHDIR)になっていない呼び出して定義した場合のWiX

0

経由で定義された変数を検索します$(env.EMS_PUBLISHDIR)。