Как In может проверить, что мой файл .Manifest действителен? - PullRequest
0 голосов
/ 12 мая 2009

Я конвертирую приложение VB6 для использования Manifest для развертывания Reg Free.

Я создал манифест с помощью Make My Manifest, но при запуске приложения появляется ошибка (ниже).

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

** --------------------------- C: \ Бунгало \ Репетитор \ tutor.exe

Это приложение не удалось запустить из-за неправильной конфигурации приложения. Переустановка приложения может решить эту проблему.

ОК **

Выдержка из Манифеста с непечатными символами

<file name="THREED32.OCX">
    <typelib tlbid="{0BA686C6-F7D3-101A-993E-0000C0EF6F5E}" version="1.0" flags="control" helpdir="" />
    <comClass clsid="{0BA686AA-F7D3-101A-993E-0000C0EF6F5E}" tlbid="{0BA686C6-F7D3-101A-993E-0000C0EF6F5E}" progid="Threed.SSCheck" description="A three-dimensional check box.               ***\ 1     ª8! DOCUME~1  D   ï¾1×°¬:÷   D o c u m e n t s   a n d   S e t t i n g s   ***   " />

Я удалил все непечатаемые символы

Ответы [ 5 ]

1 голос
/ 13 мая 2009

Если вы работаете в Vista / Server08, то перед запуском приложения используйте инструмент командной строки sxstrace.exe из привилегированной командной строки; это может дать вам дополнительную информацию.

Кроме того, посмотрите журнал событий Windows, там сообщается об ошибках анализа манифеста.

Я бы также предложил добавить тег "regfreecom" к этому вопросу.

0 голосов
/ 07 июля 2009

Возможно, вы захотите убедиться, что вы не связываетесь с библиотеками, скомпилированными с различными версиями Visual Studio .. (при условии, что это то, что вы используете)

У меня была проблема, очень похожая на это ... то же сообщение об ошибке ... после того, как я переместил приложение из VS2005 в VS2008. Ошибка состояла в том, что это было связано с библиотекой, встроенной в отдельное решение, которое я не перенес на VS2008. Версия выпуска работала нормально, но в отладочной версии возникла эта ошибка.

0 голосов
/ 21 июня 2009

Начиная с версии 0.6.7, Make My Manifest лучше обрабатывает экранирование «нечетных» символов и символов. Эта версия имеет только несколько изменений по сравнению с 0.6.6, поэтому обновление не должно вызывать проблем у большинства людей.

Новая версия должна лучше обрабатывать большие номера версий COM-интерфейса. Это должно помочь программистам, которые испытывают проблемы с управлением двоичной совместимостью интерфейса (или игнорируют совместимость).

0 голосов
/ 13 мая 2009

Не знаю, может ли это быть вашей проблемой, но если вы включаете манифест в файл res, я считаю, что он должен иметь размер, точно делимый на 4 байта (не спрашивайте меня, почему)

0 голосов
/ 13 мая 2009

Вот выдержка из раздела Устранение неполадок в MSDN статья о рег-COM. Как и в ответе Юджина, он предлагает посмотреть журнал событий в Windows Server (возможно, с Virtual PC ?).

Сначала получите ... ваш клиент работает с зарегистрированный сервер; затем отменить регистрацию сервер и убедитесь, что ваша ошибка сообщение то, что вы ожидали; а также наконец ... создать и развернуть манифест файлы. Таким образом, ваше устранение неполадок усилия ... будут ограничены структура ваших файлов манифеста (и правильное встраивание сборки манифест, если вы решите это сделать).

При устранении неполадок без регистрации Проблемы с COM, Event Viewer включен Windows Server 2003 ваш друг ... посмотрите в журнале системных событий события от COM-сервера. Я не предлагаю вам взглянуть на Журнал событий Windows XP ... он всегда будет содержать сообщение ... которое не помогает выявить проблему.

...