Ошибка CNDL0199: неверное пространство имен для элемента Wix 'http://schemas.microsoft.com/wix/2003/01/wi' - PullRequest
0 голосов
/ 03 сентября 2018

Я перенес свой проект WIX из V2 в V4, а затем изменил пространство имен в файлах .WXS

Я заменил нижеприведенное пространство имен

<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">

с

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">

После внесения изменений при запуске установщика сборки появляется следующая ошибка:

error CNDL0199 : The Wix element has an incorrect namespace of
'http://schemas.microsoft.com/wix/2003/01/wi'.  Please make the Wix element
look like the following: <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
E:\Code\EMR\Wix\src\EMR_Registry_entries.wx

Я заменил новое пространство имен, но оно не отражается. Как только я запускаю установщик сборки, он устанавливается со старым пространством имен. Я пробовал несколько раз, но он всегда устанавливает старое пространство имен.

Пожалуйста, помогите мне решить проблему.

1 Ответ

0 голосов
/ 04 сентября 2018

ОБНОВЛЕНИЕ : Вопрос, возникший после второго чтения вашего вопроса.

Source Control : "Once I run the build installer it is setting with the old namespace." - вы уверены, что процесс сборки не автомагически 1) check the WiX source out of your source control system? Или 2) может быть, он делает некоторые XML manipulation via the automation script?


Версия WiX : Вы уверены, что компилируете с WiX 4? Может быть, вы непреднамеренно компилируете с WiX 2 или WiX 3? Попробуйте жестко запрограммировать полный путь к двоичному файлу WiX в вашей системе сборки - если он у вас есть. Пожалуйста, посмотрите это (Шон - разработчик WiX): Перенос проекта Wix до версии 4.0 . Frankly I am not sure how well WiX handles multiple-version installations on the same box combined with migrated sources (бинарные файлы разных версий с одинаковыми именами - WiX 2, 3, 4 - применяются глобально через переменную PATH? Не уверен).

Visual Studio / Cmd.exe? : Компилируете ли вы с помощью Visual Studio или через командную строку? (Я не совсем уверен, читая ваш вопрос). Возможно попробуйте через командную строку (внизу), если вы используете Visual Studio - или наоборот. Убедитесь, что вы используете правильные двоичные файлы WiX (другими словами WiX 4).

Связанные файлы? : У меня нет источников WiX 2 для переноса, но мне интересно, есть ли у вас несколько исходных файлов, которые связаны между собой. Возможно ли это даже в WiX 2? Я не могу вспомнить В любом случае, я бы удостоверился, что вы обновили все исходные файлы WiX, которые извлекаются во время процесса сборки. Пожалуйста, внимательно прочитайте журнал. Возможно, попробуйте скомпилировать их с помощью Candle.exe напрямую, используя командную строку (cmd.exe вместо Visual Studio), чтобы увидеть, что файл компилируется нормально.

Исходные файлы? : Если он по-прежнему не работает, поместите исходный файл в оперативный режим, чтобы мы могли посмотреть. Github.com например. Беглый взгляд на источник (настоящий Маккой) иногда имеет большое значение - а иногда это совсем не помогает. Может быть, попробовать. Отредактированные источники просто отлично - даже рекомендуется. Обратите особое внимание на конфиденциальные данные: Как избежать случайного распространения конфиденциальной информации в моем MSI? (и это также относится к опубликованным исходным файлам - очевидно, - не только к скомпилированному MSI и его вспомогательным файлам - например, как пакетные файлы шаблона установки без вывода сообщений).


В итоге : Это стало много болтовни. Возможно, сначала попробуйте скомпилировать перенесенный источник WiX с правильными двоичными файлами WiX 4, чтобы определить, работает ли это или нет. Затем работайте задом наперед, чтобы выяснить, что происходит в процессе сборки.

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