我希望我的程序能够自我更新(从 ftp 下载新的 exe 和/或其他一些文件),并且我使用了这个问题的已接受答案中的配方。回顾:
- 将正在运行的程序重命名为 old-mp.exe
- 直接将更新下载为 mp.exe
- 重启程序
这适用于 Windows XP。在 vista 上存在问题,因为用户必须以管理员身份运行程序才能使其正常工作。右键单击并选择“以管理员身份运行”可能会让我的用户头疼......有谁知道解决这个问题的方法?我非常喜欢简单的更新方法。
我希望我的程序能够自我更新(从 ftp 下载新的 exe 和/或其他一些文件),并且我使用了这个问题的已接受答案中的配方。回顾:
这适用于 Windows XP。在 vista 上存在问题,因为用户必须以管理员身份运行程序才能使其正常工作。右键单击并选择“以管理员身份运行”可能会让我的用户头疼......有谁知道解决这个问题的方法?我非常喜欢简单的更新方法。
简单的选项是包含一个清单,指定应用程序需要管理员权限。然后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 工具将其添加到现有应用程序中。
或者,您可以在实际更新之前使用管理权限重新启动程序。这样用户就不需要总是以管理权限运行 - 只是在更新时。