Delphi manifest voor UAC-elevatie in 64-bit

Wat is er mis in dit manifest om een ​​app als beheerder uit te voeren? Het werkt prima met 32-bits, maar gebruikt met een 64-bits exec geeft een fout bij het opstarten en wordt afgesloten: "De toepassing kon niet correct worden gestart (0xc000007b) .Klik op OK om de toepassing te sluiten."

EDIT: vraag opgelost en afgesloten, voor toekomstig gebruik:

Working manifest for both 32/64 bit, add it through Project Options/Application/Runtime Themes/Custom Manifest->pick .manifest file. Delphi XE2 resource compiler seems to mess up otherwise for some reason.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

        
                
                        
                
        
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
                
                        
                                
                        
                
        

2
toegevoegd de auteur Hendra, de bron

1 antwoord

Uw probleem is niet gerelateerd aan uw manifest. U kunt controleren of dit zo is door een lege toepassing te maken en uw manifest toe te voegen als een aangepast manifest.

Foutcode 0xc000007b is wat u krijgt als een 64-bit-proces wordt geïmporteerd vanuit een 32-bits DLL en dit is de meest plausibele verklaring voor uw ellende. Gebruik Dependency Walker om erachter te komen welke import wordt opgelost door 32-bits DLL's.

3
toegevoegd
Wat heeft Dependency Walker je verteld?
toegevoegd de auteur David Heffernan, de bron
De applicatie werkt echter prima in 64-bits zonder het manifest.
toegevoegd de auteur hikari, de bron
Heb het nu aan het werk, op de een of andere manier maakte de broncompiler (brcc32) iets kapot. Als ik het manifest toevoeg via projectopties/toepassings-/runtime-thema's-> Aangepast manifest en het manifestbestand handmatig kiest, werkt het prima.
toegevoegd de auteur hikari, de bron