我想跨我的兩個wix項目共享變量,但我遇到了問題。Wix工具集 - 跨項目/解決方案的共享變量
基本上我試圖完成我的引導程序和MSI的版本號在一個文件中,然後引用這兩個項目。
我有三個項目
- 安裝 - 這是創建一個.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?>
標籤解決的問題,我會想到安裝項目,以建立
沒有人有任何的想法至於我可能在這裏做錯了什麼?
對我來說,它看起來像變量沒有被構建試圖調用它的時候定義的,但我不能確定,以顯示更改爲保證變量別的
由於之前被定義尋求幫助
我想你是混合預處理和運行時。 <?define VersionNo =「6.86.123」?>是預處理,它不會創建變量。 –
啊,這是有道理的!那麼我該如何做一個變量? (對不起,真的很簡單的問題我知道!) – martpendle
你可以使用Windows Installer屬性 –