/のドキュメントは少しわかりにくいです。については、次のように述べています。ififdef<?if [expression] ?>
- 変数を使用して存在を確認できます
...- 変数が存在しない場合、評価は失敗し、エラーが発生します。
あなたがただ行った場合、それは判明しました: <?if $(env.MY_VAR) ?>andMY_VARが定義されていない場合、コンパイルは失敗します。存在を確認するにはどうすればよいですか?
通常、これは を使用する場所ですifdefが、これらは Wix でも奇妙に機能します。$(var.Variable)構文を使用する代わりに を使用します<?ifdef Variable?>。つまり、この方法では環境変数をチェックできません。
通常の C プリプロセッサと同等のものを取得するには、次のことを行う必要があります。
#ifdef MY_ENVIRONMENT_VARIABLE
ウィックスで?