私は2つのwixプロジェクト間で変数を共有しようとしていますが、問題があります。Wix Toolset - プロジェクト間で共有される変数
基本的には、私のブートストラップとMSIのバージョン番号を1つのファイルに入れておき、それを2つのプロジェクトで参照しようとしています。
私は3つのプロジェクト
- インストールする必要があります - これは、.msiファイルを作成するセットアッププロジェクト
- ブートストラップである - これは、その参照ウィックスブートストラッププロジェクトであり、実行時 で.msiファイルを実行しますが
- 共有 - これは、バージョン番号
共有プロジェクトは、私がグロブと呼ばれている単一のファイルが含まれているフラグメントで単一の変数が含まれているwixlibプロジェクトですalVars.wxsこの
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<?define VersionNo = "6.86.123"?>
</Fragment>
</Wix>
ブートストラップ参照のように見えるこの
<Bundle Name="ProgramName" Version="$(var.VersionNo)" Manufacturer="CompanyName" UpgradeCode="Guid" Compressed="no">
とインストールプロジェクトのように、この変数は次のように変数を参照する - と共有プロジェクトから.wxsへの参照を持っています
<Product Id="*" Name="Program Name" Language="2057" Version="$(var.VersionNo)" Manufacturer="CompanyName" UpgradeCode="guid">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated"/>
<?include GlobalVars.wxs ?>
どちらのプロジェクトは、変数
が含まれているwixlibプロジェクトへの参照を設定しています私はインストールしてブートストラッププロジェクトUndefined preprocessor variable '$(var.VersionNo)'.
の両方で、このエラーを取得しています構築しようとすると<?include?>
タグで問題が解決した場合
は私が
を構築するためのインストールプロジェクトを期待する誰もが任意のアイデアを持っています私がここで間違っているのは何ですか?変数はビルドがそれを呼び出そうとした時間によって定義されていないように私に
はそれが見えますが、私は何か
おかげで前に定義された変数を確実にするために変更する表示とわかりませんよヘルプのため
私は前処理と実行時を混在させていると思います。 <?VersionNo = "6.86.123"?>を定義するのは前処理であり、変数を作成しません。 –
ああ、それは意味をなさない!どのように変数を作るのですか? (私が知っている本当に簡単な質問です) – martpendle
Windowsインストーラのプロパティを使うことができます –