2009-01-09 21 views
3

我希望我的程序能够自行更新(从ftp下载新的exe文件和/或其他文件),并且我在this question的接受答案中使用了配方。 回顾:在Windows Vista上覆盖C: Program MyProg中的可执行文件

  1. 重命名正在运行的程序,以老mp.exe
  2. 下载更新为mp.exe直接
  3. 重新启动程序

这个伟大的工程为Windows XP。在Vista上有一个问题,因为用户必须以管理员身份运行该程序才能工作。右键单击并选择“以管理员身份运行”可能会超出我的用户头部......有人知道解决此问题的方法吗?我非常喜欢简单的更新方法。

+0

自述文件中写着“确保以管理员身份运行程序” – Rayne 2009-01-09 11:12:50

+0

是的,也许不是。我的用户是“readmefile?什么是redmefile?”类型... – c0m4 2009-01-09 11:18:03

回答

2

简单的选项是包含一个清单,它指定应用程序需要管理员权限。然后Vista会自动提示权限提升。清单应该看起来像这样:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="ApplicationName" type="win32"/> 
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <security> 
     <requestedPrivileges> 
      <requestedExecutionLevel level="requireAdministrator"/> 
     </requestedPrivileges> 
     </security> 
    </trustInfo> 
</assembly> 

您可以使用mt.exe工具将其添加到现有的应用程序。

或者,您可以在实际更新之前使用管理权限重新启动程序。这样用户不需要始终以管理权限运行 - 只是在更新时。

相关问题