正如标题所说,我目前找不到这个问题的任何答案。
我目前正在使用 C# 进行检查。
大多数答案适用于 2013 及以下版本。
如果大家有什么建议,请分享。
谢谢。
基本的答案是:如果它在运行时存在,就不要打扰。将其放入您的安装程序中。让它作为正常的“需要提升权限”安装过程的一部分来执行。
如果它已经存在,安装程序将不会执行任何操作。
如果它不存在,它现在将以管理员权限运行并随后存在。
如果它被损坏,希望安装程序能够修复安装。
如果这不起作用,那么你微不足道的用户代码无法在运行时修复它。这是管理员的工作。
每个安装程序都会这样做,尤其是 Visual Studio 和 SQL Server 安装程序。我所知道的唯一轻微的修改是 Steam,它在第一次执行程序之前以提升的权限运行这些安装程序。但这只是从稍微不同的角度“确定它的存在”。
我只知道一种程序员不会这样做:这个程序员从未在新安装的 Windows(虚拟机工作)上测试过他的程序,因此不知道甚至存在这些要求(因为每个其他程序都安装 VC Redist 和当前的 DX 版本) )。