C# 如何快速可靠地确定VisualC++ 2013运行时是否安装 我试图让我的应用程序确定微软Visual C++ 2013可重新分配是否已经安装在用户的系统上。我已经看过了答案,但是看起来所有的答案都分为两大类: 检查注册表:这不是一个选项,因为如果安装VisualStudio或Visual C++已被删除,则会得到假阳性。HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall、HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\VC和HKLM\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VC就是这种情况。 使用wmic产品get或Win32_产品中的新ManagementObjectSearcherSELECT*使用WMI/检查系统表。这是可靠的,但速度非常慢40秒以上,因为它看起来必须在返回结果之前加载系统上安装的所有产品。

C# 如何快速可靠地确定VisualC++ 2013运行时是否安装 我试图让我的应用程序确定微软Visual C++ 2013可重新分配是否已经安装在用户的系统上。我已经看过了答案,但是看起来所有的答案都分为两大类: 检查注册表:这不是一个选项,因为如果安装VisualStudio或Visual C++已被删除,则会得到假阳性。HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall、HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\VC和HKLM\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VC就是这种情况。 使用wmic产品get或Win32_产品中的新ManagementObjectSearcherSELECT*使用WMI/检查系统表。这是可靠的,但速度非常慢40秒以上,因为它看起来必须在返回结果之前加载系统上安装的所有产品。,c#,.net,windows,C#,.net,Windows,运行可再发行安装程序时,安装程序能够非常快速地确定组件是否已安装: 或未安装: 做这件事的最快方法是什么,它仍然是可靠的?理想情况下,我想知道:微软是如何做到这么快的?我可以这样做吗?,可以使用更可靠的注册表值: Microsoft Visual C++ 2013 Redistributable (x64) Registry Key: HKLM\SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020

运行可再发行安装程序时,安装程序能够非常快速地确定组件是否已安装:

或未安装:

做这件事的最快方法是什么,它仍然是可靠的?理想情况下,我想知道:微软是如何做到这么快的?我可以这样做吗?

,可以使用更可靠的注册表值:

Microsoft Visual C++ 2013 Redistributable (x64)
Registry Key: HKLM\SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f} 
Configuration: x64
Version: 12.0.30501.0

Microsoft Visual C++ 2013 Redistributable (x86)
Registry Key: HKLM\SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1} 
Configuration: x86
Version: 12.0.30501.0

你能使用合并模块吗?@DanielA.White我不熟悉合并模块,但我对它们做了一些简单的研究,看起来它们只适用于.msi文件,但应用程序是.exe文件。有没有办法处理我丢失的.exe文件?