Windows 7 требует повышения UAC для приложения VB6 (Vista не сделала) - PullRequest
3 голосов
/ 17 мая 2010

У меня есть старое приложение VB6, которое должно работать в Windows 7 (с БПЛА, установленным на уровень по умолчанию, 3 из 4 ИМХО). У него есть возможность обновлять себя, и теперь Windows 7 жалуется, что это может изменить компьютер (по крайней мере, Windows 7 прямо здесь).

Мне удалось запустить его в Vista с каким-то файлом манифеста, но, похоже, это больше не работает (как я думаю, это предполагаемое поведение).

Файл манифеста выглядит так:

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

Манифест находится рядом с exe-файлом "IKOffice Starter.exe" и называется "IKOffice Starter.exe.manifest", что должно быть хорошо.

В настоящее время значок Shield исчез из моего .exe, но при попытке запустить программное обеспечение я получаю сообщение «Der angeforderte Vorgang erfordert höhere Rechte» или переводится на английский «запрашиваемая операция требует повышения прав».

Что я могу сделать, чтобы окна перестали меня беспокоить, чтобы я мог установить это приложение на наших клиентских компьютерах. Эй, я уже сказал Windows, чтобы он запускался как Invoker, так почему он все еще жалуется?

Ответы [ 2 ]

1 голос
/ 18 мая 2010

и Windows 7 теперь жалуется, что это может изменить компьютер

Была ли Мач денн Дейн Программ такой Schlimmes? в реестре, или в irgendwelche Verzeichnisse schreiben wo es nicht hindarf? behebe diesen "Fehler" Indem Du das Programm umschreibst.

1 голос
/ 17 мая 2010

Откуда приходит это сообщение об ошибке? Windows или ваше приложение VB 6? Может ли приложение VB6 говорить "эй, ты запускаешь меня как invoker, но мне нужно быть поднятым?" В конце концов, VS2008 делает это. Или вы думаете, что Windows говорит это вам?

Также я сомневаюсь, что вам нужен uiAccess = true, и поскольку манифесты, как правило, копируются из проекта в проект, сделайте его ложным.

...