2016-08-02 8 views
0

In meinem Bundle habe ich eine Variable, die den Standardinstallationspfad enthält. Ich benutze dann diese Variable, um den Standardpfad in meinem benutzerdefinierten BA anzuzeigen, und ich übergebe es an MSI-Paket. Das Problem, mit dem ich gerade konfrontiert bin, ist, dass ich einen anderen Wert pro Architektur haben möchte, im Grunde [ProgramFiles64Folder] für 64 Bit Maschinen und [ProgramFilesFolder] für 32 Bit.Festlegen der Eigenschaft basierend auf der Systemarchitektur in Burn

Der Code, den ich bisher habe, ist:

// if 64 bit 
<Variable Name="installationpath" Value="[ProgramFiles64Folder]$(var.Manufacturer)\$(var.ProductName)"/> 
// else 
<Variable Name="installationpath" Value="[ProgramFilesFolder]$(var.Manufacturer)\$(var.ProductName)"/> 

<Chain> 
    <MsiPackage SourceFile="..\32.msi" Id="client32" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR NOT VersionNT64"> 
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" /> 
    </MsiPackage> 
    <MsiPackage SourceFile="..\64.msi" Id="client64" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR VersionNT64"> 
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" /> 
    </MsiPackage> 
</Chain> 

Dies ist, wenn die Bedingung mit ich bin zu kämpfen. Gibt es überhaupt einen Weg, dies mit einer einzigen Variablen zu tun, oder brauche ich 2?

Antwort

1

Verwenden Sie stattdessen die integrierte ProgramFiles6432Folder variable und lassen Burn es behandeln.

+0

Omg, ich kann nicht glauben, dass ich das nicht bemerkt habe, danke –

Verwandte Themen