![](/img/trans.png)
[英]How to Check if Microsoft Visual C++ 2015 Redistributable Installed on a Device
[英]Cannot find Microsoft Visual C++ 2015 Redistributable Programmatically C#
嗨,我在我的电脑上运行以下代码:
static void Main(string[] args)
{
StringBuilder sbProductCode = new StringBuilder(39);
int iIdx = 0;
while (
0 == MsiEnumProducts(iIdx++, sbProductCode))
{
Int32 productNameLen = 512;
StringBuilder sbProductName = new StringBuilder(productNameLen);
MsiGetProductInfo(sbProductCode.ToString(),
"ProductName", sbProductName, ref productNameLen);
if (sbProductName.ToString().Contains("Microsoft Visual C++ 2015 Redistributable"))
{
Int32 installDirLen = 1024;
StringBuilder sbInstallDir = new StringBuilder(installDirLen);
MsiGetProductInfo(sbProductCode.ToString(),
"InstallLocation", sbInstallDir, ref installDirLen);
Console.WriteLine("ProductName {0}: {1}",
sbProductName, sbInstallDir);
Console.ReadLine();
}
}
}
循环结束,未找到任何内容。 但是,在“控制面板”中查看“程序和功能”,我可以清楚地看到它已安装,并且名称与字符串完全匹配。
这是因为MSI“产品”与面向用户的“程序和功能”列表中显示的条目不1:1对应。 对于Windows 7上安装的VC 2015 x64运行时,您需要查找两种产品: Microsoft Visual C++ 2015 x64 Minimum Runtime
和Microsoft Visual C++ 2015 x64 Additional Runtime
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.