Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is my VB6 application manifest ignored on 64bit machines?

I have the following manifest embedded in a VB6 application.

<?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>  

On 32bit Server 2008 machines the file correctly appears with a "Admin Shield" icon overlay and can only be run as administrator. On 64bit Server 2008 the same file does not have the icon overlay and can be run normally.

I have tried changing the processorArchitecture="X86" to both "*" and "ia64" and also removing the manifest from the compiled application and having it as a external manifest, all to no avail.

Any thoughts gratefully recieved.

like image 801
Matt Avatar asked Oct 15 '22 11:10

Matt


2 Answers

Have you tried embedding your manifest as this post suggest?

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

Answer is near the bottom of the post with a link to:

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

like image 186
Jeff Avatar answered Oct 21 '22 05:10

Jeff


Because your processorArchitecture attribute indicates that it is a 32bit machine.

like image 28
jmoreno Avatar answered Oct 21 '22 03:10

jmoreno