Как In может проверить, что мой файл.Manifest действителен?

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

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

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

** --------------------------- C: \ Bungalow \ tutor \ 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 ответов

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам