Мой последний вопрос «Список служб и статусов служб в Win-7» заставил меня начать работу над решением, которое дает моему приложению привилегии администратора в Windows Vista и выше на основе файла .manifest.
Я былне уверен насчет продолжения предыдущего вопроса с этим вопросом, поскольку они не совпадают, поэтому вот еще один вопрос:
Мое приложение теперь отлично работает под Win 7, независимо от того, запускаю ли я его "как администратор" из-за манифестафайл.Мой файл манифеста выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.6.0.5" processorArchitecture="X86" name="ServiceMonitorPro" type="win32"/>
<description publisher="Powershield Ltd" product="Powershield Service Monitor">Powershield Service Monitor</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Когда приложение работает на Windows 7 или Vista, UAC появляется с диалоговым окном, подобным этому: alt text http://www.freeimagehosting.net/uploads/39787fd3dd.jpg
Как я могу заменить«неизвестный» издатель?
Другая и самая большая проблема в том, что даже если приложение работает без проблем в Win7 или Vista, в WinXP оно теперь вылетает с сообщением: «Это приложение не запустилось, потому чтонеправильная конфигурация приложения. Переустановка приложения может решить эту проблему. "
Еще одна вещь, которую я хотел бы добавить: если я добавлю ссылку (использует предложение) в XPMan, приложение отлично работает на WinXP, но затемэто мой .manifest файл не имеет никакого значения под Vista или Win7.