В Wix, как я могу избежать жесткого кодирования источника файла для файла, который уже существует в каталоге установки?
В моем файле.wxs у меня есть следующее объявление файла. Этот файл уже существует в каталоге установки. Он не копируется из исходного каталога. Мне нужно обновить его с помощью util:XmlConfig во время установки. Часть XmlConfig работает.
<File Id="AppConfig" Name="Dynamics.exe.config" Source="C:\Program Files (x86)\Microsoft Dynamics\GP2010\Dynamics.exe.config" />
Проблема в том, что я не могу предположить, что файл всегда будет существовать в одном и том же месте. Я действительно хотел бы просто сослаться на это так:
<File Id="AppConfig" Name="[#INSTALLDIR]\Dynamics.exe.config" />
Однако, это терпит неудачу со следующим сообщением:
> light.exe ....
The system cannot find the file 'SourceDir\....\[#INSTALLDIR]\Dynamics.exe.config'
Как я могу сказать, что "файл уже существует в каталоге установки, использовать этот файл во время установки и не проверять его сейчас"?
1 ответ
Каталоги доступны в скобках, как если бы они были обычными свойствами. Если вам не нужно устанавливать Dynamics.exe.config, а просто получить к нему доступ XmlConfig
элементы, вы можете просто ссылаться на этот каталог и не нужно беспокоиться с File
элемент:
<Component Id="Dynamics.exe.config" KeyPath="yes" Guid="*">
<util:XmlConfig Id="Dynamics.exe.config.XmlConfig1"
On="install"
Action="..."
File="[INSTALLDIR]\Dynamics.exe.config"
...
/>
<util:XmlConfig Id="Dynamics.exe.config.XmlConfig2"
On="install"
Action="..."
File="[INSTALLDIR]\Dynamics.exe.config"
...
/>
</Component>