簡體   English   中英

Wix - 根據條件安裝目錄

[英]Wix - install directory depending on a condition

在我的wix源代碼中,我必須在注冊表中查找2個條目以獲取安裝目錄:

<Property Id="INSTALLDIR_A"> 
 <RegistrySearch Id='RegA' Type='raw' 
   Root='HKLM' Key='Software\Path\To\A' Name='InstallLocation' /> 

 <Property Id="INSTALLDIR_B"> 
 <RegistrySearch Id='RegB' Type='raw' 
   Root='HKLM' Key='Software\Path\To\B' Name='InstallLocation' /> 

我的安裝目錄必須是INSTALLDIR_A或INSTALLDIR_B。 如果我只需要查看一個條目,我會像那樣實現它:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="INSTALLDIR" Name="My path">
    <!-- further code -->
  </Directory>
</Directory>

但我希望INSTALLDIR可以是INSTALLDIR_A或INSTALLDIR_B,具體取決於定義的是哪一個。 怎么做到這一點?

有一個自定義操作SetDirectory( http://wixtoolset.org/documentation/manual/v3/xsd/wix/setdirectory.html )。 您可以嘗試使用第一個值作為默認值,並在設置另一個值時覆蓋它:

<Fragment>
  <Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
      <Directory Id="INSTALLFOLDER" Name="Software\Path\To\A" />
    </Directory>
  </Directory>

  <SetDirectory Id="INSTALLFOLDER" Value="[INSTALLDIR_B]">INSTALLDIR_B AND NOT INSTALLDIR_A</SetDirectory>
</Fragment>

暫無
暫無

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

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