-4

我很惊讶我无法找到一个简单的答案,因为这似乎是一件很常见的事情。

我正在尝试根据正在安装的服务器的机器名称设置安装路径,因为它们具有不同的文件夹结构。

我假设我需要某种自定义操作,但是对于 WiX 来说是全新的,我很难弄清楚从哪里开始。

我想我可以为每台服务器制作单独的安装程序(因为它只有 3 个),但最好只有一个可重复使用的安装程序。

一个正确方向的点将不胜感激!谢谢。

4

1 回答 1

2

假设您在 WiX 创作中具有以下目录结构:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="INSTALLLOCATION" Name="nametochange">
    <!-- some component -->
    <Directory Id="BinDir" Name="bin">
       <!-- another component -->
    </Directory>
  </Directory>
</Directory>

INSTALLLOCATION文件夹名称应根据机器名称而有所不同。您可以编写一个SetDirectory元素来将目录路径设置为所需的值(它是下面的硬代码,只是为了展示这个想法):

<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\[%COMPUTERNAME]" />

SetDirectory元素正确地安排了基础自定义操作。请注意在 WiX: 中引用环境变量的方式[%COMPUTERNAME]。如果您以 Windows Installer 4.0+ 为目标,则可以依赖特殊属性ComputerName.

更新:根据具体要求,您可以进一步实验:

<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderA">ComputerName = Server1</SetDirectory>
<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderB">ComputerName = Server2</SetDirectory>
<SetDirectory Id="INSTALLLOCATION" Value="C:\inetpub\wwwroot\FolderC">ComputerName = Server3</SetDirectory>

等等

于 2012-09-18T20:52:28.990 回答