3

我希望我的程序能够自我更新(从 ftp 下载新的 exe 和/或其他一些文件),并且我使用了这个问题的已接受答案中的配方。回顾:

  1. 将正在运行的程序重命名为 old-mp.exe
  2. 直接将更新下载为 mp.exe
  3. 重启程序

这适用于 Windows XP。在 vista 上存在问题,因为用户必须以管理员身份运行程序才能使其正常工作。右键单击并选择“以管理员身份运行”可能会让我的用户头疼......有谁知道解决这个问题的方法?我非常喜欢简单的更新方法。

4

1 回答 1

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 工具将其添加到现有应用程序中。

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

于 2009-01-09T11:54:53.937 回答