【发布时间】:2017-05-24 17:07:49
【问题描述】:
您好,我在我的电脑上运行以下代码:
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();
}
}
}
循环结束,没有找到任何东西。 但是查看控制面板中的程序和功能我可以清楚地看到它已安装,并且名称与字符串完全匹配。
【问题讨论】: