我的最后一个问题“列出 Win-7 下的服务和服务状态”让我开始研究一种解决方案,该解决方案基于 .manifest 文件为我的应用程序在 Windows Vista 下提供管理员权限。
我不确定是否继续上一个问题,因为它们不一样,所以这里是另一个问题:
由于清单文件,我的应用程序现在可以在 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 添加引用(uses 子句),该应用程序在 WinXP 上运行良好,但我的 .manifest 文件在 Vista 或 Win7 下没有区别。