Wix Bootstrapper не обновляется, ошибка 0x800705b4

У меня есть Wix Bootstrapper, который устанавливает/обновляет несколько MSI. MSI работает и обновляется нормально, а Bootstrapper нормально работает при начальной установке. Однако я попытался протестировать обновление с помощью Boostrapper, и каждый раз он даже не запускался и порождал большое количество процессов и файлов Setup_XXXXXXXXXXXXX_Failed.txt в папке %Temp%. каждый из этих файлов failed.txt в конце содержит следующее:

[3098:23F8][2014-06-10T11:03:00]e000: Ошибка 0x800705b4: Не удалось открыть родительский канал: \.\pipe\BurnPipe.{087217E1-A4F3-4951-8319-06031945DA08} [3098:23F8] [2014-06-10T11:03:00]e000: ошибка 0x800705b4: не удалось подключиться к процессу без повышенных прав. [3098:23F8][2014-06-10T11:03:00]e000: ошибка 0x800705b4: не удалось запустить машинный режим

Цифры различаются между файлами, но ошибки остаются прежними.

Я запускаю этот Bootstrapper Exe с различными аргументами командной строки, чтобы сообщить ему, какие MSI устанавливать, и предоставить ему место установки и различные аргументы для настраиваемых действий.


person dingdangdowney    schedule 10.06.2014    source источник


Ответы (1)


Об этом сообщается на странице http://wixtoolset.org/issues/3890/. Я только недавно исправил это, следующая сборка WiX не должна порождать большое количество процессов.

Однако основной проблемой было то, что Burn получал командную строку, которая CommandLineToArgvW не удалось выполнить синтаксический анализ. Вы должны убедиться, что все двойные кавычки правильно экранированы, и что при использовании двойных кавычек для пробелов их четное количество.

person Sean Hall    schedule 10.06.2014
comment
следующая строка — это то, что я передаю через командную строку: \WixTestingInstall UPDATEDATE=10/06/2014 12:05:14 INSTALLTYPE=update USEINTEGRATEDSECURITY=0 APPENDWILDCARD=1 Я не вижу двойных кавычек, которые не экранированы должным образом - person dingdangdowney; 10.06.2014
comment
@downeysyndrome По моим подсчетам, это 257 символов. В зависимости от того, как вы вызываете свой Exe, вы можете столкнуться с ограничением длины командной строки. - person Sean Hall; 10.06.2014
comment
Я думаю, что нашел проблему. У меня есть приложение .net, которое передает .exe все эти данные и извлекает INSTALLFOLDER из ключа реестра, и если путь InstallFolder заканчивается на \ (который добавляет раздел реестра), то происходит сбой. Спасибо за помощь! - person dingdangdowney; 10.06.2014
comment
Это просто помогло мне решить проблему с установщиком Visual Studio 2017 RC. - person SvenAelterman; 28.12.2016