Почему мой манифест приложения VB6 игнорируется на 64-битных машинах? - PullRequest
5 голосов
/ 05 января 2010

У меня есть следующий манифест, встроенный в приложение VB6.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="ExeName"
type="win32"/> 
<description>elevate execution level</description> 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
     <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
     </requestedPrivileges>
  </security>
 </trustInfo>
</assembly>  

На 32-битных серверах 2008 файл правильно отображается с наложением значка «Щит администратора» и может быть запущен только как администратор. На 64-битном сервере 2008 этот же файл не имеет значка наложения и может работать нормально.

Я попытался изменить processorArchitecture = "X86" на "*" и "ia64", а также удалить манифест из скомпилированного приложения и использовать его в качестве внешнего манифеста, но все безрезультатно.

Любые мысли с благодарностью получены.

Ответы [ 2 ]

3 голосов
/ 05 января 2010

Вы пытались встроить свой манифест, как предлагает этот пост?

http://www.xtremevbtalk.com/showthread.php?t=308937

Ответ находится внизу поста со ссылкой на:

http://blogs.msdn.com/vistacompatteam/archive/2006/11/13/manifest-and-the-fusion-cache.aspx

1 голос
/ 06 января 2010

Поскольку ваш атрибут processorArchitecture указывает, что это 32-битный компьютер.

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