views:

751

answers:

2

Hi, all,

I have an old VB6 application which should run on Windows 7 (with UAV set to the default level, 3 of 4 IMHO). It has the functionality to update itself, and Windows 7 is now complaining that it would modify the computer (At least windows 7 is right here).

I was able to run it in Vista with some kind of manifest file, but this does not seem to work anymore (which is the intended behaviour if I think of it).

The manifest file is this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity version="1.1.0.24" processorArchitecture="X86" name="IKOfficeAppStarter" type="win32"/>
    <description>IKOffice Starter</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" 
             version="6.0.0.0" processorArchitecture="X86" 
             publicKeyToken="6595b64144ccf1df" language="*"/>
        </dependentAssembly>
    </dependency>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="asInvoker" uiAccess="true"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
</assembly>

The manifest can be found near the exe "IKOffice Starter.exe" and is called "IKOffice Starter.exe.manifest", which should be okey.

Currently the Shield Icon has gone from my .exe, but when try to start the software, i get the message "Der angeforderte Vorgang erfordert höhere Rechte", or translated to english "the requested operation requires elevation".

What can I do to stop windows to bug me anymore, so I can install this application on our clients computers. Hey, I already told Windows to run it as Invoker, so why is it still complaining?

+1  A: 

Where does that error message come from? Windows or your VB 6 app? Could the VB6 app be saying "hey, you're running me as invoker but I need to be run elevated?" After all, VS2008 does that. Or do you think Windows is saying that to you?

Also I doubt you need uiAccess=true and since manifests tend to get copied from project to project, make it false.

Kate Gregory
+1 for uiAccess=false
Daniel
+1  A: 

and Windows 7 is now complaining that it would modify the computer

Was macht denn Dein Programm so Schlimmes? in die Registry, oder in irgendwelche Verzeichnisse schreiben wo es nicht hindarf? behebe diesen "Fehler" indem Du das Programm umschreibst.

Oops
+1 Probier ich morgen mal...
Daniel
That did it! I included some functions with Declare function that i didn't need anyway (they were in some library module), and after removing them Windows decided my program was harmless!
Daniel