2013-05-06 10 views
5

Моя программа должна работать от имени администратора. Два года назад я создаю файл манифеста, и он отлично работает. Но теперь я перехожу из Delphi 2010 в Delphi XE3, и он не работает - запуск программы обычно (не как администратор). Далее я буду называть свою программу «MyApp».Не улавливать файл манифеста

В источнике, я объявляю два Рез-файлы:

{$R MyApp.res} 
{$R Manifest.res} 

Manifest было создать с помощью этого кода:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    type="win32" 
    name="MyApp" 
    version="1.1.0.0" 
    processorArchitecture="x86"/> 
    <description> 
    MyApp 
    </description> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
     type="win32" 
     name="Microsoft.Windows.Common-Controls" 
     version="6.0.0.0" 
     publicKeyToken="*deleted*" 
     language="*" 
     processorArchitecture="x86"/> 
    </dependentAssembly> 
    </dependency> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="requireAdministrator" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

При удалении {$ R} MyApp.res от источника манифеста работы. Поэтому я понимаю, что MyApp.res (автоматически генерируемый Delphi) избили Manifest.res. Но в Delphi 2010 эта конфигурация работает идеально, но не работает в XE3. Зачем? Как я могу это исправить?

ответ

9

Если вы хотите использовать пользовательский файл .res для вашего манифеста, вам нужно отключить манифест по умолчанию Delphi, так как процесс может иметь только 1 манифест. Перейдите в раздел «Параметры проекта» в разделе «Приложение» и установите для параметра «Время выполнения» значение «none».

В качестве альтернативы, переместите манифест в файл .manifest, а затем установите параметр «Runtime Themes» для «использования пользовательского манифеста». Затем удалите свой пользовательский файл .res из вашего кода.

Смежные вопросы