我开发的软件有自动更新功能,改程序在XP以及低版本的Windows下运行正常,但是在Vista下,如果直接运行,会下载文件失败,必须以管理员身份运行才可以正常下载。有谁知道怎样编程解决这个问题吗?

解决方案 »

  1.   

    只有程序启动时,请求管理员权限的办法建一个 工程名.manifest的文件放在工程里,内容如下。如果你用的是VS2008,manifest选项里有这个设置的<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity 
    version="7.0.0.247" 
    processorArchitecture="X86" 
    name="XP Style" 
    type="win32" 
    /> 
    <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.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
          </requestedPrivileges>
        </security>
      </trustInfo>
    </assembly>