Я создал файл манифеста для приложения VB6, работающего в Windows 7 (не для каких-либо изменений визуального стиля, просто чтобы убедиться, что он обращается к общему реестру, а не к виртуализированному)
Имя исполняемого файла - Capadm40.exe, манифест называется Capadm40.exe.manifest и содержит следующее:
<?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="CompanyName.Capadm40"
type="win32"/>
<description>Administers the System</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Однако, похоже, это не имеет никакого значения. т.е. приложение все еще использует виртуализированный куст реестра. Что еще странно, так это то, что после того, как я снял флажок с опции «Запускать эту программу от имени администратора» в свойствах приложения exe, окна по-прежнему показывают щит на значке приложения, что заставляет меня думать, что это некоторая проблема с моей установкой Windows, а чем ошибка с манифестом. Любые идеи?