Как изменить файл компонента. xml с помощью utils: XmlFile с использованием WIX? - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь создать установщик, который также устанавливает файл xml в зависимости от входных значений, введенных в отдельном диалоговом окне. Здесь

</Component>
  <Component Id="ConfigXMLDocument">
    <File Id ="Config" KeyPath="yes" DiskId="1" Vital ="yes" Source="$(var.Server.ProjectDir)config.xml"/>
    <CreateFolder Directory="INSTALLFOLDER">
      <util:PermissionEx User="Users" ChangePermission="yes" GenericAll="yes"/>
    </CreateFolder>

    <util:XmlFile ElementPath ="root/Server/servername" File ="[INSTALLFORDER]config.xml" Sequence="1" Id ="SERVERNAME"
                   Action ="setValue" Value ="THIS VALUE IS NOT BEING SET"  SelectionLanguage="XPath"/>
    <util:XmlFile ElementPath ="root/Server/listenport" File ="[INSTALLFORDER]config.xml" Sequence="2" Id ="PORT"
                 Action ="setValue" Value ="THIS ONE EITHER"/>
  </Component>

Проблема в том, что ошибок нет, и все пути разрешены правильно, но установленный файл остается тем же, что и оригинальный. Если я пытаюсь изменить какой-либо другой XML -файл, он работает, но не тот, который установлен.

Я обнаружил, что в Интернете схожи проблемы, но мои ответы не устранены.

Возможно ли, что XmlFile просто меняет файл перед его установкой? И что еще может вызвать такую ​​проблему?

1 Ответ

0 голосов
/ 18 апреля 2020

Оказалось, что это не один, а два вопроса. Первым было использовать идентификатор файла вместо пути, поэтому я заменил это

File ="[INSTALLFORDER]config.xml"

на следующее:

 File ="[#Config]"

Но все равно не работало, во время установки появилось ошибка, из-за которой установщик не может проверить конфигурацию файла. xml, поэтому я изменил InstallExecuteSecuqnce на следующее:

 <InstallExecuteSequence>
  <Custom Action="SchedXmlFile" After="InstallFiles" />
</InstallExecuteSequence>

UPD. Это все еще не работало нормально WIX не смог открыть файл с ошибкой: не удалось открыть XML путь к файлу / config. xml, системная ошибка: -2147024786

Похоже, ошибка не может распознать wix по какой-то причине спецификация в файле XML:

<?xml version"1.0" encoding="UTF-8" ?>

Так что я просто удалил ее.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...