У меня есть следующая декларация, встроенная в приложение 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 бита 2 008 машин файл правильно появляется с наложением значка "Admin Shield" и может только быть выполнен как администратор. На Сервере на 64 бита 2008 тот же файл не имеет наложения значка и может обычно выполняться.
Я попытался изменить processorArchitecture = "X86" и к "*" и к "ia64" и также удалить декларацию из скомпилированного приложения и иметь его как внешнюю декларацию, все напрасно.
Любые мысли с благодарностью получены.
Пытались ли вы вставить свой манифест так, как предполагает это сообщение?
http://www.xtremevbtalk.com/showthread.php?t=308937
Ответ находится внизу сообщения со ссылкой на:
http://blogs.msdn.com/vistacompatteam/archive/2006/11/13/manifest-and-the-fusion-cache.aspx
Потому что ваш атрибут processorArchitecture указывает, что это 32-битная машина.