簡體   English   中英

我想使用wix文件安裝基於OS版本的某些文件集和基於另一個OS版本的另一組文件

[英]I want to install certain set of files based on OS version and another set of files based on another OS version using wix file

我需要根據操作系統版本安裝一套文件,如果有其他操作系統,則需要安裝另一套文件。我也寫了一個條件,但是該條件無法正常工作。

<Component Id="actionBin_Win7"  Guid="6b73cbe1-4017-48d7-9cdc-784517b2d7a9" DiskId="1">
  <Condition><![CDATA[(VersionNT >= 600)]]></Condition>
  <File Id="file30" Name="AXINTE_2.DLL" LongName="AxInterop.MSTSCLib.dll" src="$(var.agentroot)\bin\AxInterop.MSTSCLib_Win7.dll" />
  <File Id="file31" Name="ZENRDP_2.EXE" LongName="ZENRdpClient.exe" src="$(var.agentroot)\bin\ZENRdpClient_Win7.exe" />
  <File Id="file32" Name="INTERO_2.DLL" LongName="Interop.MSTSCLib.dll" src="$(var.agentroot)\bin\Interop.MSTSCLib_Win7.dll" />
</Component>
<Component Id="actionBin"  Guid="7388F2C9-5CDD-49a8-80F7-7DF5829AE87E" DiskId="1">
  <Condition><![CDATA[(VersionNT < 600)]]></Condition>
  <File Id="file10" Name="AXINTE_1.DLL" LongName="AxInterop.MSTSCLib.dll" src="$(var.agentroot)\bin\AxInterop.MSTSCLib.dll" />
  <File Id="file11" Name="msrdp.ocx" LongName="msrdp.ocx" SelfRegCost="1" src="$(var.agentroot)\bin\msrdp.ocx" />
  <File Id="file12" Name="ZENRDP_1.EXE" LongName="ZENRdpClient.exe" src="$(var.agentroot)\bin\ZENRdpClient.exe" />
  <File Id="file13" Name="INTERO_1.DLL" LongName="Interop.MSTSCLib.dll" src="$(var.agentroot)\bin\Interop.MSTSCLib.dll" />
  <File Id="file14" Name="shortcut.vbs" LongName="shortcut.vbs" src="$(var.agentroot)\bin\shortcut.vbs" />
</Component>

特點:

<Feature Id="AllComponents" Title="AllComponents" Level="1">
  <ComponentRef Id="actionBin" />
  <ComponentRef Id="actionBin_Win7" />
</Feature>

知道這里出了什么問題嗎? 即使當操作系統是Windows 7時,MSI也會獲取我打算用於WinXP的文件。

提前致謝。

據我對WIX的了解,CDATA用於ASCII比較,而不用於整數比較。

您可以使用自定義操作來比較操作系統版本,然后為某個會話變量分配true或false值,然后可以在wxs文件中使用該會話變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM